【发布时间】:2026-01-20 15:10:02
【问题描述】:
我在用代码实现场景时面临挑战。 我正在尝试在概念验证期间同时使用记录类型、集合和批量收集。但我做不到,而且我遇到了错误。 我不知道如何将批量收集参数作为输入参数传递给我在下面的包中创建的 proc...
CREATE OR REPLACE PACKAGE poc1
AS
TYPE poc_rectype IS RECORD
(
id VARCHAR2 (20),
name VARCHAR2 (20)
);
PROCEDURE poc1_prc (poc_rec1 IN poc_rectype);
END poc1;
CREATE OR REPLACE PACKAGE BODY poc1
AS
PROCEDURE poc1_prc (poc_rec1 IN poc_rectype)
IS
BEGIN
FOR i IN 1 .. poc_rec1.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE ('poc_rec1' || poc_rec1.COUNT);
END LOOP;
*-- i want to print the records passed from the execution script here
-- later i want to do some insertion in some table..*
DBMS_OUTPUT.PUT_LINE ('executed');
END poc1_prc;
END poc1;
在这里,我现在只尝试通过一项记录.. 但是,我希望传递一组记录并将其打印出来或在包含上述过程的包中插入一些内容。
/* execution script for the above package*/
DECLARE
l_rec_type poc1.poc_rectype;
BEGIN
SELECT (SELECT 100, 'Jack' FROM DUAL)
BULK COLLECT INTO l_rec_type
FROM DUAL;
poc1.poc1_prc (l_rec_type);
END;
请有人帮助我实施此 POC。 我什么都试过了。但我感到无助
【问题讨论】: