带条件参数的sql游标

假设我有一个包含用户输入参数的过程。带条件参数的sql游标

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不是一个有效的标识符。

那么是立即执行唯一的选择吗?

回答:

“我想传递一个列名”

在这种情况下,是的,你需要使用动态SQL。可能你需要打开一个游标变量,而不是execute immediate

Create procedure Match_Record(v_match_ID) 

...

rc sys_refcursor;

begin

open rc for

'Select *

From table A

Where not exists(select blah from table B

Where a.'||v_match_ID||' = b.'|| v_match_ID||')';

以上是 带条件参数的sql游标 的全部内容, 来源链接: utcz.com/qa/266231.html

回到顶部