New*_*per 3 triggers sql-server-2008
我很新SQL,很抱歉这是非常基本的知识.我的问题如下.
我有一个名为Group的表,minimumVal并且maximumVal是两列.minimumVal总是应该少于maximumVal.我想在将新记录插入表之前检查这一点.如果此条件失败,则不应将数据插入数据库.
所以根据我的理解,我虽然有一个触发器,但不知道如何写这个.
这就是我到目前为止所写的内容;
CREATE TRIGGER tr_Group
ON Table_Group
for INSERT
AS
????
Run Code Online (Sandbox Code Playgroud)
请建议我.
Lam*_*mak 15
我建议您使用检查约束:
ALTER TABLE dbo.Table_Group ADD CONSTRAINT CK_Group
CHECK (minimumVal < maximumVal)
Run Code Online (Sandbox Code Playgroud)
如果您仍想使用触发器,则需要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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30649 次 |
| 最近记录: |