小编Rya*_*ick的帖子

ORA-06511:PL/SQL游标已经打开

任何人都有任何想法,为什么系统告诉我PAR_CUR已经开放?一切都工作正常,直到我添加最外面的光标(dup_cur),现在我收到此错误.感谢您的帮助.数据也在下面.

错误报告:

ORA-06511: PL/SQL: cursor already open
ORA-06512: at line 18
ORA-06512: at line 61
06511. 00000 -  "PL/SQL: cursor already open"
*Cause:    An attempt was made to open a cursor that was already open.
*Action:   Close cursor first before reopening.
Run Code Online (Sandbox Code Playgroud)

码:

ACCEPT p_1 prompt 'PLEASE ENTER THE REGION:'
DECLARE
    v_child        regions.child_name%TYPE := '&p_1';
    v_parent       regions.parent_name%TYPE;
    v_parent2      regions.child_name%TYPE;
    v_parent3      regions.child_name%TYPE;
    v_count        NUMBER := 0;
    v_regionnumber NUMBER := 1;
    v_parentcount  NUMBER := 0;
    v_dup          regions.child_name%TYPE;
    CURSOR reg_cur …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql cursor

7
推荐指数
2
解决办法
4万
查看次数

PLS-00201:必须声明标识符'USER INPUT'

我收到错误"PLS-00201:标识符'CHICAGO'必须声明"当我尝试在提示输入用户输入时"请输入区域:"如果我输入"CHICAGO"例如(当然没有引号) )我收到PLS-00201错误.我无法弄清楚为什么 - 任何想法?提前致谢.

ACCEPT p_1 PROMPT 'PLEASE ENTER THE REGION:'

DECLARE
  V_CHILD  REGIONS.CHILD_NAME%TYPE := &p_1;
  V_PARENT REGIONS.PARENT_NAME%TYPE;
  CURSOR REG_CUR (p_child_name varchar2) IS 
    SELECT UPPER(CHILD_NAME) 
      FROM REGIONS
     where CHILD_NAME = p_child_name;

BEGIN
  OPEN REG_CUR (V_CHILD);
  FETCH reg_cur INTO V_CHILD;
  WHILE REG_CUR%FOUND LOOP
    DBMS_OUTPUT.PUT_LINE(V_CHILD);
    FETCH reg_cur INTO V_CHILD;
  END LOOP;
  CLOSE REG_CUR;
END;
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql sqlplus cursor

4
推荐指数
1
解决办法
8190
查看次数

标签 统计

cursor ×2

oracle ×2

plsql ×2

sql ×2

sqlplus ×1