如果插入数据有特殊值,则运行Trigger INSTEAD OF INSERT

时间:2013-01-21 21:27:05

标签: sql triggers insert

我想写一个触发器,当特殊数据想要插入我的表格时运行 例如 我的税表有两栏

  • 1.ID

  • 2.TAXVALUE

我希望数据想要插入第2列。检查数据是否包含“euro”字符串,插入取消。我的意思是做任何事情而不是插入... 如果包含“euro”,则不应插入数据。 请帮帮我...非常感谢。 :)

2 个答案:

答案 0 :(得分:2)

这应该这样做。

CREATE TRIGGER TrigerName ON SomeTable
INSTEAD OF INSERT
AS
BEGIN
  INSERT INTO SomeTable
  SELECT ID, TAXVALUE
  FROM INSERTED
  WHERE NOT TAXVALUE LIKE '%euro%'
END

答案 1 :(得分:1)

触发器将是

ALTER TRIGGER [dbo].[yourtableinsert] 
   ON  [dbo].[yourtable] 
   AFTER Insert
AS 
BEGIN
    delete from yourtable where id=inserted.id and  inserted.TAXVALUE like '%euro%';        
END

如果TAXVALUE包含欧元,则会删除插入的行。