Oracle PL/SQL中IF条件异常:传入参数却始终执行ELSE分支
问题:SQL Macro函数参数判空异常
我在Oracle PL/SQL中创建了带SQL Macro的函数traudit04011,调用时传入'service_date'参数,但IF判断XPARAM是否为NULL时始终执行ELSE分支返回"No",哪怕把参数赋值给本地变量也没解决问题。因为sql_statement需要动态生成,必须通过这个函数返回表结构,现在完全卡壳,求解决方法。
代码示例
CREATE OR REPLACE FUNCTION traudit04011(xparam VARCHAR2) RETURN VARCHAR2 SQL_MACRO(SCALAR) IS l_param VARCHAR2(100) := xparam; BEGIN IF l_param IS NOT NULL THEN RETURN 'SELECT ''Yes'' AS result FROM dual'; ELSE RETURN 'SELECT ''No'' AS result FROM dual'; END IF; END; / -- 调用语句 SELECT traudit04011('service_date') FROM dual;
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

