修改后如下:

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;

说明:本次修改主要针对两个错误。

  1. UPDATE语句缺少更新的具体字段,应该为 UPDATE s_emp SET salary = salary * 1.1 WHERE id = q1.id;

  2. 在更新语句中,应该使用当前循环到的id,即 q1.id,而不是整个 s_id。

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;改错

原文地址: https://www.cveoy.top/t/topic/naz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录