pl/sql中如何全部依次执行if elsif分支?求高人指教
时间:2011-11-09
来源:互联网
[code=SQL][/code]CREATE OR REPLACE PROCEDURE RAISE_EXCEPTIONPRO
( P_NUMBER IN NUMBER)
IS
RESULT NUMBER :=0;
FUNCTION RAISE_EXCEPTION (P_STATUS IN NUMBER)
RETURN INTEGER
IS
A1 EXCEPTION;
A2 EXCEPTION;
A3 EXCEPTION;
BEGIN
IF(P_STATUS = 1) THEN
RAISE A1;
ELSIF(P_STATUS = 2) THEN
RAISE A2;
ELSIF(P_STATUS = 3) THEN
RAISE A3;
END IF;
RETURN 0;
EXCEPTION
WHEN A1 THEN
RETURN 1;
WHEN A2 THEN
RETURN 2;
WHEN A3 THEN
RETURN 3;
WHEN OTHERS THEN
ROLLBACK;
END RAISE_EXCEPTION;
BEGIN
RESULT :=RAISE_EXCEPTION(P_NUMBER);
DBMS_OUTPUT.PUT_LINE(RESULT);
END;
/
在第一个IF(P_STATUS = 1)完成后还要返回到ELSIF(P_STATUS = 2),依次执行完,怎么才能做到啊?
作者: silentzhang23 发布时间: 2011-11-09

作者: rfb0204421 发布时间: 2011-11-09
在第一个IF(P_STATUS = 1)完成后还要返回到ELSIF(P_STATUS = 2),依次执行完,怎么才能做到啊?
咦?好奇怪。。
既然P_STATUS已经为1了,为什么还要判断P_STATUS 是否为2呢?
作者: yixilan 发布时间: 2011-11-09
作者: a120255857 发布时间: 2011-11-09
作者: rfb0204421 发布时间: 2011-11-09
引用楼主 silentzhang23 的回复:
在第一个IF(P_STATUS = 1)完成后还要返回到ELSIF(P_STATUS = 2),依次执行完,怎么才能做到啊?
咦?好奇怪。。
既然P_STATUS已经为1了,为什么还要判断P_STATUS 是否为2呢?
P_STATUS 是由P_NUMBER传过来的,就是已经存在的数据,数值有1,2,3,…
作者: silentzhang23 发布时间: 2011-11-09
作者: silentzhang23 发布时间: 2011-11-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28