且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

T-SQL如何防止删除表中的第一行

更新时间:2021-08-28 22:56:20

您可以在以下位置创建触发器table [用户]监视何时删除该表中的寄存器。因此,您检查删除是否为userId:1,然后不删除它,否则..删除它,这里是代码:

You can create a Trigger on table [Users] that watch when a register from this table is being deleted. So you check if deletion is userId:1 then you don't delete it, else.. you delete it, here is the code:

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