当我多次更新 SQL 中的 table 中的同一行时,会出现 ORA-00001:唯一约束错误

When I update the same row in a table in SQL more than once, it gives an ORA-00001: unique constraint error

我正在尝试连续更新 SQL 中 table 中的一行,但在 运行 第二个更新语句时出现错误。

update employees 
set department_id = 50
where employee_id = 100;

update employees 
set department_id = 60
where employee_id = 100;

我在第二个更新语句中遇到错误。

ORA-00001: unique constraint (ADMIN.JHIST_EMP_ID_ST_DATE_PK) violated
ORA-06512: at "ADMIN.ADD_JOB_HISTORY", line 10
ORA-06512: at "ADMIN.UPDATE_JOB_HISTORY", line 2
ORA-04088: error during execution of trigger 'ADMIN.UPDATE_JOB_HISTORY'

我原以为 employee_id 100 会在第二次更新后分配给 department_id 60。

我不是要插入新记录,只是要更新现有记录,所以为什么会出现唯一约束错误。 谢谢

是的,您没有做错任何事情(根据您发布的 update 声明),但是 UPDATE_JOB_HISTORY 数据库触发器 在后台

检查其代码;看起来它调用了一个过程 (update_job_history),它又调用了另一个过程 (add_job_history),并且它违反了第 10 行中的 JHIST_EMP_ID_ST_DATE_PK 主键约束。