运行的时候报invalid SQL statement,PL/SQL developerFOR w_temp_data IN
(SELECT CODE,TYPE,VALUE1,VALUE2 FROM T_TEMP_TST_MST_TBL_1LZSBBFKV ORDER BY temp_renew ) LOOP
UPDATE TST_MST_TBL_1
SET CODE=w_temp_data.CODE,
TYPE=w_temp_data.TYPE,
VALUE1=w_temp_data.VALUE1,
VALUE2=w_temp_data.VALUE2
WHERE (CODE=w_temp_data.CODE) AND (TYPE=w_temp_data.TYPE);
END LOOP;
(SELECT CODE,TYPE,VALUE1,VALUE2 FROM T_TEMP_TST_MST_TBL_1LZSBBFKV ORDER BY temp_renew ) LOOP
UPDATE TST_MST_TBL_1
SET CODE=w_temp_data.CODE,
TYPE=w_temp_data.TYPE,
VALUE1=w_temp_data.VALUE1,
VALUE2=w_temp_data.VALUE2
WHERE (CODE=w_temp_data.CODE) AND (TYPE=w_temp_data.TYPE);
END LOOP;
(SELECT CODE,TYPE,VALUE1,VALUE2 FROM T_TEMP_TST_MST_TBL_1LZSBBFKV ORDER BY temp_renew ) LOOP 可以这样写吗?好像要用游标的吧。不能直接写sql 语句在 in 后面
必须是pl/sql 块才可以..
Declare
...
begin
--your code here
end;
(SELECT CODE,TYPE,VALUE1,VALUE2 FROM T_TEMP_TST_MST_TBL_1LZSBBFKV ORDER BY temp_renew ) LOOP
UPDATE TST_MST_TBL_1
SET VALUE1 = w_temp_data.VALUE1,
VALUE2 = w_temp_data.VALUE2
WHERE (CODE = w_temp_data.CODE) AND (TYPE = w_temp_data.TYPE);
END LOOP;去掉 CODE = w_temp_data.CODE,
TYPE = w_temp_data.TYPE,
这2个可以吧!
(SELECT CODE,TYPE,VALUE1,VALUE2 FROM T_TEMP_TST_MST_TBL_1LZSBBFKV ORDER BY temp_renew ) LOOP
begin
UPDATE TST_MST_TBL_1
SET VALUE1 = w_temp_data.VALUE1,
VALUE2 = w_temp_data.VALUE2
WHERE (CODE = w_temp_data.CODE) AND (TYPE = w_temp_data.TYPE);
end;
END LOOP;