DELETE 语句与 SQL 存储过程中的引用约束冲突
DELETE statement conflicted with Reference constraints in SQL Stored Procedure
我的员工 table 的主键列是 (EmpID
),它在其他两个 table 中被引用
EmployeeEducation
table 和 EmployeeBankInformation
table.
我想根据他们的 ID 删除员工,但是当我 运行 存储过程时,我的控制器抛出外键引用约束冲突的错误,因为 EmpID
列。
ALTER PROCEDURE [dbo].[RemoveEmployee]
(
@EmpID int
)
AS
BEGIN
DELETE FROM Employee WHERE EmpID = @EmpID
DELETE FROM EmployeeEducation WHERE EmpID = @EmpID
DELETE FROM EmployeeBankInformation WHERE EmpID = @EmpID
END
我哪里错了?你们谁能告诉我我在程序中犯了什么错误吗?
你们关系很密切,只需要删除最后一个员工:
ALTER PROCEDURE [dbo].[RemoveEmployee]
(
@EmpID int
)
AS
BEGIN
DELETE FROM EmployeeBankInformation WHERE EmpID = @EmpID
DELETE FROM EmployeeEducation WHERE EmpID = @EmpID
DELETE FROM Employee WHERE EmpID = @EmpID
END
我的员工 table 的主键列是 (EmpID
),它在其他两个 table 中被引用
EmployeeEducation
table 和 EmployeeBankInformation
table.
我想根据他们的 ID 删除员工,但是当我 运行 存储过程时,我的控制器抛出外键引用约束冲突的错误,因为 EmpID
列。
ALTER PROCEDURE [dbo].[RemoveEmployee]
(
@EmpID int
)
AS
BEGIN
DELETE FROM Employee WHERE EmpID = @EmpID
DELETE FROM EmployeeEducation WHERE EmpID = @EmpID
DELETE FROM EmployeeBankInformation WHERE EmpID = @EmpID
END
我哪里错了?你们谁能告诉我我在程序中犯了什么错误吗?
你们关系很密切,只需要删除最后一个员工:
ALTER PROCEDURE [dbo].[RemoveEmployee]
(
@EmpID int
)
AS
BEGIN
DELETE FROM EmployeeBankInformation WHERE EmpID = @EmpID
DELETE FROM EmployeeEducation WHERE EmpID = @EmpID
DELETE FROM Employee WHERE EmpID = @EmpID
END