oracle - Trying to create SELECT Stored Procedure in Oracle PL SQL and getting error in VARIABLE CURSOR_OUTPUT REFCURSOR;
问题描述
I have created procedure for simple select statement output.
CREATE OR REPLACE PROCEDURE marcydashboard (p_recordset IN OUT SYS_REFCURSOR)
IS
BEGIN
OPEN p_recordset FOR select employee_id,first_name,last_name from employees;
END;
VARIABLE CURSOR_OUTPUT REFCURSOR;
EXECUTE marcydashboard(:CURSOR_OUTPUT);
I need result same like select statement result but am getting error like:
ERROR at line 6: PLS-00103: Encountered the symbol "VARIABLE"
4. END;
5. VARIABLE CURSOR_OUTPUT REFCURSOR;
6. EXECUTE marcydashboard(:CURSOR_OUTPUT );
please help me to fix the error
解决方案
好吧,它可以在 SQL*Plus 中运行:
SQL> CREATE OR REPLACE PROCEDURE marcydashboard (p_recordset OUT SYS_REFCURSOR)
2 IS
3 BEGIN
4 OPEN p_recordset FOR
5 SELECT employee_id, first_name, last_name FROM employees;
6 END;
7 /
Procedure created.
SQL>
SQL> VARIABLE cursor_output REFCURSOR;
SQL> EXECUTE marcydashboard(:cursor_output);
PL/SQL procedure successfully completed.
SQL> PRINT :cursor_output
EMPLOYEE_ID FIRST_NAME LAST_NAME
----------- ---------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONES MANAGER
SQL>
看起来您没有使用该工具,而是使用了其他工具。在这种情况下,它不起作用,你必须以不同的方式做,例如
SQL> SET SERVEROUTPUT ON
SQL>
SQL> DECLARE
2 l_rc SYS_REFCURSOR;
3 --
4 l_employee_id employees.employee_id%TYPE;
5 l_first_name employees.first_name%TYPE;
6 l_last_name employees.last_name%TYPE;
7 BEGIN
8 marcydashboard (l_rc);
9
10 LOOP
11 FETCH l_rc INTO l_employee_id, l_first_name, l_last_name;
12
13 EXIT WHEN l_rc%NOTFOUND;
14
15 DBMS_OUTPUT.put_line (
16 l_employee_id || ' - ' || l_first_name || ' - ' || l_last_name);
17 END LOOP;
18
19 CLOSE l_rc;
20 END;
21 /
7369 - SMITH - CLERK
7499 - ALLEN - SALESMAN
7521 - WARD - SALESMAN
7566 - JONES - MANAGER
PL/SQL procedure successfully completed.
SQL>
推荐阅读
- arrays - 如何在 dart 中根据它们的索引添加多个数组的项目?
- python - 如何遍历目录以查找文件夹
- axios - 如何在axios中使用Get方法发送表单数据?
- r - 将字符转换为数字 R 时出错
- ruby-on-rails - 如何在 Azure 应用服务上安排 Rails rake 任务
- binding - 将 @State 变量传递给 ContentView
- python - 在 Python 中接收整数并按顺序返回其所有数字的元组的函数
- javascript - 'Observable' 类型上不存在属性 'then'
> 角度火力基地 - swift - Swift:如何使用 HTTPS 代理
- python - 为什么 pygame 中的组列表必须具有“更新”功能,而没有其他功能?