sql - IF 语句使用过程参数?
问题描述
我想知道在技术上是否可以在 IF 语句中使用过程参数,或者如何以不同的方式解决这个问题。
情况描述:我在其他过程中有一个过程,其中内部过程的参数是外部过程的参数。我想在 IF 语句的主体中使用内部过程的参数,例如:IF parameter1 OR parameter2 OR parameter3 IS NOT NULL THEN。. 值得一提的是,外部过程的所有参数都必须为 DEFAULT NULL。有任何想法吗?干杯。
解决方案
你想这样做吗:
--first procedure
CREATE OR REPLACE PROCEDURE p1(f_name varchar2 ,sal NUMBER )
IS
BEGIN
p2(f_name,sal);
END;
--second procedure
CREATE OR replace PROCEDURE p2(f_name varchar2 ,sal NUMBER )
IS
BEGIN
IF f_name IS NOT NULL OR sal IS NOT NULL
THEN
dbms_output.put_line(f_name ||' '||sal);
END IF;
END;
然后调用第一个过程:
BEGIN
p1( 'john',null );
END;
推荐阅读
- mysql - 通过命令行将csv导入mysql,无需事先创建表
- javascript - 同一时刻有很多请求
- amp-html - 如何删除内联对象拟合:包含来自 amp img
- javascript - Select2 和 Jexcel 向下拉列表添加新选项
- python - Cx_Oracle:DatabaseError:ORA-28040:没有匹配的身份验证协议
- c++ - 我在 VS Code 中的终端不会打印任何内容或给我一个错误。不知道为什么不打印
- javascript - 如何在检查后禁用 asp:CheckBox 然后执行服务器端代码?
- python - 如何更改图表上 mplfinance 卷的格式?
- vue.js - html的占位符
- c++ - 如何将 std::pair 迭代器传递给函数模板并推导出迭代器类型?