【发布时间】:2016-01-02 12:08:50
【问题描述】:
更新到数据库时我的更新收到以下错误:
ORA-00001:违反了唯一约束 (DONALDBURY.BARS_ID_PK)
我正在使用以下代码作为我的更新。我不想摆脱约束,而是想找到一种解决方法。我想停止设置重复值。
MERGE INTO bars DEST_TABLE
USING (select :P3_filename as filename from dual) SOURCE_TABLE
ON (DEST_TABLE.name = SOURCE_TABLE.filename)
WHEN MATCHED THEN
UPDATE SET image = ORDSYS.ORDImage()
WHEN NOT MATCHED THEN
INSERT (
image_id,
filename,
image,
name,
address,
postcode,
description)
VALUES (:P3_image_id,
:P3_filename,
ORDSYS.ORDImage(),
:P3_NAME,
:P3_ADDRESS,
:P3_POSTCODE,
:P3_DESCRIPTION);
【问题讨论】:
-
你能添加
DEST_TABLE的结构和可用的约束吗 -
@VR46 你能解释一下吗?
-
对不起,我的意思是
bars表结构 -
请运行此查询:
select table_name, column_name, position from user_cons_columns where constraint_name = 'BARS_ID_PK';并将此查询的结果附加到问题中。 -
@kordirko 查看上面的消息 ^
标签: sql oracle plsql sql-merge