declare cursor s_id is select id from s_emp where salary<4000; begin for q1 in s_id loop update s_emp set s_emp where id in (s_id); end loop; end;改错
修改后如下:
DECLARE CURSOR s_id IS SELECT id FROM s_emp WHERE salary < 4000; BEGIN FOR q1 IN s_id LOOP UPDATE s_emp SET salary = salary * 1.1 WHERE id = q1.id; END LOOP; END;
说明:本次修改主要针对两个错误。
-
UPDATE语句缺少更新的具体字段,应该为 UPDATE s_emp SET salary = salary * 1.1 WHERE id = q1.id;
-
在更新语句中,应该使用当前循环到的id,即 q1.id,而不是整个 s_id。
原文地址: https://www.cveoy.top/t/topic/naz 著作权归作者所有。请勿转载和采集!