3

私は非常に新しいのでSQL、これが非常に主要な知識であると尋ねて申し訳ありません。私の問題は次のとおりです。

GroupというテーブルがありminimumValmaximumVal2つの列があります。minimumVal常に。未満である必要がありmaximumValます。テーブルに新しいレコードを挿入する前に、これを確認したいと思います。この状態が失敗した場合、データをDBに挿入しないでください。

だから私の理解によると、私はトリガーを持っているとは思いますが、これをどのように書くのか分かりません。

これは私がこれまでに書いたものです。

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 に答える