我有一个表<ol dir="rtl">
<li>Problem</li>
<li>Something else</li>
</ol>
,其中有一个名为Job_Test
的列。列的值可以是七个值之一。
如何阻止特定值Status
更改为New
?但是,它可以更改为其他六个值中的一个。
Hold
但是我不确定在哪里完成它。
答案 0 :(得分:0)
有INSTEAD OF
个触发器可能对您有帮助。
CREATE TRIGGER dbo.statusCheck_InsteadOfUpdate
ON statusCheck
INSTEAD OF UPDATE
AS
BEGIN
UPDATE s SET
s.[status] = i.[status],
... other fields to UPDATE ...
FROM statusCheck s
INNER JOIN INSERTED i ON i.ID = s.ID
WHERE i.[status] <> 'Hold' AND s.[Status] <> 'New'
END
如果找到任何错误,你也可以抛出错误