重複キーエラーの後に選択への挿入を続行する方法があるかどうかを知りたい場合。意味:私は例外を無視して、次のレコードを挿入し続けたいと思います。 私はignore_row_on_dupkey_indexに精通していますが、私が知る限り、ヒントは本番環境で使用すべきではありません。選択重複キーエラー(pl/sql)への挿入を無視する
いくつか: 1.クエリは、何百万ものレコードを空のテーブルに挿入します。 2.パフォーマンスへの影響が小さい良いソリューションを好むでしょう。
おかげで、 アレックス
IGNORE_ROW_ON_DUPKEY_INDEXを使用するコードの例:
CREATE TABLE customers
(customer_id number(10) NOT NULL,
customer_name varchar2(50) NOT NULL,
city varchar2(50),
CONSTRAINT customers_pk PRIMARY KEY (customer_id)
);
CREATE TABLE customers_2
(customer_id number(10) NOT NULL,
customer_name varchar2(50) NOT NULL,
city varchar2(50)
);
insert into customers_2 values(1,'A','TLV');
insert into customers_2 values(2,'B','TLV');
insert into customers_2 values(2,'C','TLV');
insert into customers_2 values(3,'C','TLV');
SELECT * FROM customers_2
insert /*+ ignore_row_on_dupkey_index(customers, customers_pk) */
into customers select * from customers_2
select * from Customers;
procで作業しています。私は問題が何かを得ることができない –
オラクルによると、ヒントには問題と既知のバグがあります。したがって、これを本番環境で使用すべきではないので、私は同様の解決策を探しています。 –