SQL触发器删除行如果值是0 [复制]

问题描述 投票:0回答:1

这个问题已经在这里有一个答案:

我想创建,检查是否有更新后的值是0,一个特定的列的触发器。如果该值为0,该行应删除。我并不真正熟悉的触发器。我会apprecitate,如果有人clould显示/解释给我听。这是我的尝试:

CREATE TRIGGER [dbo].[after_update] 
   ON [dbo].[tbl_LagerPos]
   AFTER UPDATE
AS 
BEGIN
    DELETE FROM tbl_LagerPos WHERE Bestand = 0;
END
GO

这里Bestand是应该,如果为0。如果是,那么整行应删除检查的一个。我知道,这是检查整个表格,基本上是没错的。所以,我需要它只有特定的记录。

sql-server tsql database-trigger
1个回答
0
投票

不要使用触发器这一点。让客户端上的检查。您还可以添加一个列约束到数据库:

alter table dbo.Table1 add Column1 int not null constraint CHK_Column1 check (Column1 > 0);
© www.soinside.com 2019 - 2024. All rights reserved.