循环记录类型var并使用pl/sql将值插入到目标表

问题描述 投票:0回答:1

我有这张桌子

TABLE_BB
(名字,姓氏,ID)。

我还有一个记录类型:

EMPREC is record(fname varchar,lname varchar2,idty varchar2);
type emprectype is TABLE OF EMPREC INDEX BY BINARY_INTEGER;

我需要调用一个过程并循环记录类型变量值并插入到目标中

TABLE_BB
:

CREATE OR REPLACE PACKAGE mypkg IS
    TYPE emprec IS RECORD (
            fname VARCHAR2(255),
            lname VARCHAR2(255),
            idty  VARCHAR2(255)
    );
    TYPE emprectype IS
        TABLE OF emprec INDEX BY BINARY_INTEGER;
    PROCEDURE proc_aaa (
        p_emp           IN emprectype,
        x_status_code   OUT VARCHAR2,
        x_error_message OUT VARCHAR2
    );

END mypkg;

CREATE OR REPLACE PACKAGE BODY mypkg AS

    PROCEDURE proc_aaa (
        p_emp           IN emprectype,
        x_status_code   OUT VARCHAR2,
        x_error_message OUT VARCHAR2
    ) IS
    BEGIN
        FOR i IN 1..p_emp.count LOOP
            INSERT INTO table_bb VALUES (
                p_emp(i).fname,
                p_emp(i).lname,
                p_emp(i).idty
            );

        END LOOP;
    END proc_aaa;

END;

但是编译表明

p_emp
不是光标。

如何迭代这个变量值?

oracle loops plsql types record
1个回答
0
投票

团队,很高兴拥有这个博客。错过了在大括号中输入迭代器值。因此问题是。现在我已经更正了我的问题本身的工作代码。

© www.soinside.com 2019 - 2024. All rights reserved.