CREATE OR REPLACE PROCEDURE PRO_1112(O_NOTE OUT NUMBER,O_RESULT OUT VARCHAR2)AS
V_NO NUMBER(20);
V_NOTE VARCHAR2(200);
BEGIN
FOR XX IN(SELECT * FROM SCOTT.EMP MP) loop
if (XX.Sal>=1500) then
update TEST111 T SET T.SAL=T.SAL+500 where t.empno=xx.empno;
else
update TEST111 T SET T.SAL=T.SAL+1000 where t.empno=xx.empno;
end if;
end loop;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END PRO_1112;
--注意的犯错点有:
1.IF-ELSE语句 忘记写了END IF;
2.if 后面忘记写then关键字了;
3.where后面的匹配忘记写了,结果是出现了笛卡尔积。
4.菜鸟成长中。。。未完待续!