我正在使用表格进行输入,并且我正在使用选择进行插入,但它给了我错误。 inp_tab ==> 是输入表
类型:
create or replace TYPE UT_ACCOUNT_EXTENSION_INP_OBJ AS OBJECT
( account_no VARCHAR2(9 CHAR)
,account_name VARCHAR2(40 CHAR)
);
程序:
create or replace TYPE INP_TAB AS TABLE OF INP_OBJ;
WHILE (i <= inp_tab.count )
LOOP
INSERT INTO table1(account_id ,account_name)
SELECT tab2.ACCOUNT_ID ,inp_tab(i).account_name
FROM
TABLE (inp_tab )
JOIN table2 tab2
ON table2.account_nbr = inp_tab(i).account_no;
i := i +1;
END LOOP;
当我使用一个输入记录运行该过程时,插入工作正常,但是当我在 INP_TAB 中使用 2 个输入运行该过程时,第一条记录失败并出现以下错误。
-1 索引中不允许重复插入
000210 ORA-00001: 违反了唯一约束 (table1_PK)
PL/SQL 过程成功完成。