写的一个ORACLE存储过程小练习

时间:2022-05-19 07:57:19

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.菜鸟成长中。。。未完待续!