oracle多次插入给出重复索引错误

时间:2021-07-14 11:02:38

标签: join select types insert

我正在使用表格进行输入,并且我正在使用选择进行插入,但它给了我错误。 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 过程成功完成。

0 个答案:

没有答案
相关问题