1
私はmyC
というテーブルを持つOracle DBを持っています。この表では、いくつかの行があり、そのうちの2つがmyCheight, myCwidth
と呼ばれています。Oracle SQL:2列のすべての値を比較して交換してください
IF myCheight > myCwidth DO switch the values.
に私は1つの行から値を読み取ろうとしましたが、それは仕事を得るdidntのように私は、これらの値を読み込み、それらを比較する必要があります。 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;
+1:同意。 'SET myCheight = myCwidth'は' myCwidth = myCheight'の前に完了していませんが、同時に発生するように見えます。 – MatBailie
+1。また、記号を追加することもできます:* "これを家庭で(またはMySQLで)試してはいけません" * –
ニース、うまくいきました。 – nottinhill