IGNORE_ROW_ON_DUPKEY_INDEX 仍然给出 ORA-00001 错误

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

我有下表:

CREATE TABLE "43CY".AMSTBL_B2BTST
(
TSMPF    VARCHAR(5), 
TSCALLRN VARCHAR(3), 
TSCALLR2 VARCHAR(15), 
CONSTRAINT AMSCNS_B2BTST PRIMARY KEY (TSMPF, TSCALLRN, TSCALLR2)
);

看起来创建表成功了:

Table Name

...以及约束...

Constraint Name

...和索引:

Index Name

但是,如果我运行以下脚本,它会失败,并给出 ORA-00001 错误(唯一约束)。

enter image description here

sql oracle-database plsql
1个回答
0
投票

从提示中删除架构名称,代码将运行而不会引发异常:

BEGIN
  INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (AMSTBL_B2BTST, AMSCNS_B2BTST) */
  INTO "43CY".AMSTBL_B2BTST
    (TSMPF, TSCALLRN, TSCALLR2)
  VALUES
    ('431', 'RPR', 'A');
END;
/

来自手册的语法图显示模式名称不应在这些提示中使用:

enter image description here

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