ฉันมีคลังข้อมูล (oracle) ที่ฉันต้องตั้งค่าคอลัมน์เป็นค่าเดียวกันสำหรับทั้ง 700 ล้านแถว
ฉันไม่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบหรือการเข้าถึงผู้ดูแลระบบดังนั้นจึงจำเป็นต้องทำให้สำเร็จด้วย sql พื้นฐานและไม่มีตาราง temp ที่สร้างขึ้น
สิ่งที่ซับซ้อนกว่านั้นคือถ้าฉันพยายามทำการอัพเดทง่ายๆโดยที่ 1 = 1 มันจะหมดพื้นที่ทำซ้ำ
วิธีที่ฉันให้มันทำงานตอนนี้วนซ้ำเช่นนี้:
loop
update mytable set mycolumn = '1' where mycolumn is null and rownum < 50000;
commit;
end loop
แต่ฉันรู้ว่านี่อาจไร้เดียงสาและต้องมีวิธีแก้ปัญหาที่รวดเร็วและสง่างามกว่า