3

我很陌生SQL,很抱歉问这是非常基本的知识。我的问题如下。

我有一个名为Group的表,minimumVal并且maximumVal是两列。minimumVal总是应该小于maximumVal。我想在向表中插入新记录之前检查这一点。如果这种情况失败,则不应将数据插入数据库。

所以根据我的理解,我虽然有一个触发器,但不知道如何写这个。

这是我到目前为止所写的;

CREATE TRIGGER tr_Group
ON Table_Group
for INSERT
AS  
????

请给我提意见。

4

1 回答 1

15

我建议您为此使用检查约束:

ALTER TABLE dbo.Table_Group ADD CONSTRAINT CK_Group
    CHECK (minimumVal < maximumVal)

如果您仍想使用触发器,那么您需要一个INSTEAD OF触发器

CREATE TRIGGER tr_Group ON Table_Group
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON
    INSERT INTO dbo.Table_Group
    SELECT *
    FROM INSERTED
    WHERE minimumVal < maximumVal
END
于 2013-03-18T20:16:46.177 回答