我有以下包含错误代码和相关错误消息的表结构:
ERR_CODE ERR_MESSAGE
CN001 Invalid Username :USERNM
CN002 Invalid Password :PWD
在我的 PLSQL 代码中,我想动态替换用户名和密码的值。
我知道 EXECUTE IMMEDIATE 可以通过 USING 子句进行替换,但在这种情况下查询必须是静态的。
我正在寻找一种类似于立即执行的风格,其中可以做到这一点:
SIMILAR_EXECUTE_IMMDIATE q'{select ERR_MESSAGE from ERROR_MESSAGES where ERR_CODE = 'CN001'}' INTO l_err_msg USING l_curr_user;
或者,也许我可以将其分解为 2 个步骤:
select ERR_MESSAGE into err_msg_var from ERROR_MESSAGES where ERR_CODE='CN001';
EXECUTE_IMMDIATE err_msg_var INTO l_err_msg USING l_curr_user;
基本上,我正在尝试减少所涉及的步骤数量,或者可能获得性能更好的查询或方法。
提前致谢 !