Mag*_*gie 5 t-sql database sql-server
我有一张这样的桌子:
CREATE TABLE Users
(
idUser int IDENTITY(1,1) PRIMARY KEY,
firstName varchar(40) NOT NULL,
secondName varchar(40),
lastName varchar(70) NOT NULL,
position varchar(80),
section varchar(80) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
某人只需要删除一个用户。如何防止第一行被删除?我无法重新插入它,第一行必须具有idUser = 1。
您可以在表 [Users] 上创建一个触发器,用于监视何时删除该表中的寄存器。所以你检查删除是否是userId:1然后你不删除它,否则..你删除它,代码如下:
CREATE TRIGGER sampleTrigger
ON [Users]
INSTEAD OF DELETE
AS
IF EXISTS(SELECT * FROM deleted WHERE idUser IN (1))
BEGIN
RAISERROR ('Is not allowed to delete idUser: 1',16, 1)
END
ELSE
BEGIN
DELETE [Users] WHERE idUser IN (SELECT idUser FROM deleted)
END
GO
Run Code Online (Sandbox Code Playgroud)