我有一个uni数据库示例,需要在其中更新新的部门。我有下表
表1(部门)具有以下列:
ID | NAME | SCHOOL | ACTIVE | SNAPSHOT
860 | SOF | 20 | 1 | NULL
861 | CS | 20 | 1 | NULL
ID为PK,整数,非空
表2(用户)具有以下列:
ID | EMPNO | FORENAME | SURNAME | DEPT
1495 | e3456 | Parker | Sal | 860
部门是FK
问题:
表1中的两个部门应更新为单个部门,如下所示:
ID | NAME | SCHOOL | ACTIVE | SNAPSHOT
860 | School of Sciences | 20 | 1 | NULL
我正在使用以下sql命令:
DELETE FROM Department WHERE ID = 861
并收到以下错误:
消息547,级别16,状态0,第10行 DELETE语句与REFERENCE约束“ FK__User__Dept”冲突。在数据库“ uniDB”的表“ dbo.User”的列“ Dept”中发生了冲突。
由于第三个表具有FK约束,因此我无法使用同一命令从表2(用户)中删除部门ID 861,因此,我会收到与上述相同的错误。
非常感谢您的帮助
答案 0 :(得分:0)
更改链接,然后删除:
UPDATE u SET
Dept = 860
FROM User u
WHERE u.Dept = 861
DELETE d
FROM Department d
WHERE d.ID = 861