相关疑难解决方法(0)

PL/SQL打印出存储过程返回的引用游标

如何从存储过程(OUT变量)返回的引用游标中获取并将结果行打印到SQL*PLUS中的STDOUT?

ORACLE存储过程:

PROCEDURE GetGrantListByPI(p_firstname IN VARCHAR2, p_lastname IN VARCHAR2,
p_orderby IN VARCHAR2, p_cursor OUT grantcur);
Run Code Online (Sandbox Code Playgroud)

PL/SQL:

SET SERVEROUTPUT ON;

DECLARE
  TYPE r_cursor IS REF CURSOR;
  refCursor r_cursor;

  CURSOR grantCursor IS
    SELECT last_name, first_name
    FROM ten_year_pis
    WHERE year_added = 2010;

  last_name VARCHAR2(100);
  first_name VARCHAR2(100);

BEGIN
  OPEN grantCursor;
  FETCH grantCursor INTO last_name, first_name;

  WHILE grantCursor%FOUND LOOP
    PMAWEB_PKG.GetGrantListByPI(last_name, first_name, 'last_name', refCursor);

    --HOW DO I LOOP THROUGH THE RETURNED REF CURSOR (refCursor)
    --AND PRINT THE RESULTING ROWS TO STDOUT?

    FETCH grantCursor into last_name, first_name; …
Run Code Online (Sandbox Code Playgroud)

oracle plsql ref cursor

33
推荐指数
4
解决办法
12万
查看次数

标签 统计

cursor ×1

oracle ×1

plsql ×1

ref ×1