【发布时间】:2017-12-27 16:10:41
【问题描述】:
假设我有一个带有用户输入参数的过程。
Create procedure Match_Record(v_match_ID)
Cursor match is
Select *
From table A
Where not exists(select ‘bbb’ from table B
Where a. v_match_ID = b. v_match_ID);
它不会编译,因为 v_match_ID 不是一个有效的标识符。
那么执行立即是这里唯一的选择吗?
【问题讨论】:
-
您是要在此处传入列名还是文字?如果
V_MATCH_ID是列名,那么是的,您需要使用立即执行(或 DBMS_SQL)。 -
@Ben 是的,我正在尝试传递列名。
-
我不知道要关闭哪个问题作为重复项,因为您可能正在做很多事情,但这里有一些相关的:stackoverflow.com/q/12956627/458741、stackoverflow.com/q/15786953/458741、stackoverflow.com/q/25182858/458741