Plsql 用一个ref游标处理两个不同的查询
我有两个选择查询,我想 是否为它们打开光标 端环; 第一个查询是select语句,另一个查询只是将计数放入Plsql 用一个ref游标处理两个不同的查询,plsql,dynamic-sql,ref-cursor,Plsql,Dynamic Sql,Ref Cursor,我有两个选择查询,我想 是否为它们打开光标 端环; 第一个查询是select语句,另一个查询只是将计数放入v\u cnt。现在我需要执行这两个查询。现在有没有一种方法可以同时使用这两个查询 在OPEN语句之后还有一个语法错误,即。在环路 使用立即执行 请共享错误消息?`Found'循环,应为:;使用-或-| |-或-/-或-***-或-(+)-或-%。[-或-:@CASE CONNECT_BY_ROOT decimal number EXISTS FALSE float integer NE
v\u cnt
。现在我需要执行这两个查询。现在有没有一种方法可以同时使用这两个查询
在OPEN
语句之后还有一个语法错误,即。在环路 使用立即执行
请共享错误消息?`Found'循环,应为:;使用-或-| |-或-/-或-***-或-(+)-或-%。[-或-:@CASE CONNECT_BY_ROOT decimal number EXISTS FALSE float integer NEW preor SQL TRUE-或-(*+-在继续游标日标识符MOD MODEL MULTISET NOT NULL REM string当年份`I在打开后缺少分号时。我得到了解决方案。问题是分号;
v_str1:='SELECT ROWID FROM ' || p_tblname|| 'WHERE '|| p_cname||'='''||
p_cvalue || '''';
v_str2:='SELECT COUNT ( * )
INTO v_cnt
FROM ' ||
p_tblname||
'WHERE '|| p_cname||' = '''||p_cvalue||'''';
.....
OPEN ref_cur_name FOR v_str1
LOOP
IF v_cnt = 1
THEN
EXIT;
ELSE
EXECUTE IMMEDIATE 'DELETE FROM '|| p_tblname||
'WHERE ROWID = REC.ROWID';
END IF;
v_cnt := v_cnt - 1;
EXECUTE IMMEDIATE 'SELECT COUNT ( * )
INTO v_cnt
FROM ' ||
p_tblname||
'WHERE '|| p_cname||' = '''||p_cvalue||'''';