gpt4 book ai didi

oracle - 将记录数组转换为refcursor

转载 作者:行者123 更新时间:2023-12-01 02:54:05 25 4
gpt4 key购买 nike

问题是如何将 l_array 作为 refcursor 返回,
由于我使用的界面可以轻松处理游标而不是记录数组。

请帮忙

  create or replace package sample 
TYPE r_type is record( code number; description varchar2(50));
TYPE tr_type IS TABLE OF r_type; l_rarray tr_type ; ind number:=0;

PROCEDURE getdata() IS
CURSOR cur IS
SELECT empid, empname, place, location FROM emp;
TYPE epmid_aat IS TABLE OF emp.empid%TYPE INDEX BY BINARY_INTEGER;
l_empid empid_aat;
BEGIN
k := 1;
FOR j IN (SELECT DISTINCT empid FROM emp)
LOOP
l_empid(k) := j.empid;
k := k + 1;
END LOOP;
FOR i IN cur
LOOP
FOR k IN l_empid.first .. l_empid.last
LOOP
IF l_empid(k) = i.empid THEN

procedure2(i.emp_id);
END IF;
END LOOP;
END LOOP;

END getdata();

PROCEDURE procedure2
(
empid_in IN NUMBER,
description_in IN VARCHAR2(20)
) IS
BEGIN
lrec.code := empid_in;
lrec.description := description_in;
l_rarray(ind) := lrec;
ind := ind + 1;
END procedure2;

end;

最佳答案

我认为应该是这样的:

OPEN YourRefCursor
FOR SELECT * FROM TABLE (Cast(l_rarray AS tr_type));

关于oracle - 将记录数组转换为refcursor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3635879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com