我知道在plpgsql中如果想要引用新的插入行,可以使用“NEW
”。
我怎么能在T-SQL(transact sql)中做到这一点?
以下是我尝试创建的触发器:
CREATE Trigger setAlertId on rules_table
FOR INSERT AS
DECLARE @max_id integer
SELECT @max_id = (select max(AlertId) from rules_table)
NEW.AlertId = @max_id+1
END
GO
我收到错误消息:
'NEW'附近的语法不正确
感谢。
答案 0 :(得分:0)
inserted
and deleted
pseudo tables:
DML触发器语句使用两个特殊表:
deleted
表和inserted
表。 SQL Server自动创建和管理这些表。您可以使用这些临时的内存驻留表来测试某些数据修改的效果,并为DML触发器操作设置条件。您无法直接修改表格中的数据
答案 1 :(得分:0)
在您的情况下,为什么不在alertid字段上使用自我增量的标识? 如果要在触发器中执行此操作,则需要从插入中选择主键,然后对规则表进行更新。