当我多次更新 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
主键约束。
我正在尝试连续更新 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
主键约束。