我有一个带有名为myC
的表的Oracle DB。在这张表中,我有几行,其中两行称为myCheight, myCwidth
。
我需要阅读这些值并将其与IF myCheight > myCwidth DO switch the values.
我试图从一行读取值,但没有让它工作。我使用Oracles Oracle SQL Developer。
这是我到目前为止所提出的:
set serveroutput on;
DECLARE
cursor h is select * from MyC;
type htype is table of h%rowtype index by number;
stage_tab htype;
master_tab htype;
BEGIN
open h;
loop
fetch h bulk collect into stage_tab limit 500;
for i in 1 .. stage_tab.count loop
master_tab(stage_tab(i).id) := stage_tabe(i);
end loop;
exit when h%notfound;
end loop;
close h;
end;
答案 0 :(得分:10)
你不能这样做吗?
UPDATE myC
SET myCheight = myCwidth,
myCwidth = myCheight
WHERE myCheight > myCwidth