Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql 用一个ref游标处理两个不同的查询_Plsql_Dynamic Sql_Ref Cursor - Fatal编程技术网

Plsql 用一个ref游标处理两个不同的查询

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

我有两个选择查询,我想 是否为它们打开光标

端环; 第一个查询是select语句,另一个查询只是将计数放入
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||'''';