Sql server sql server的触发器语法
我已经意识到,对于不同的软件,触发器的语法略有不同。SQL Server 2012中以下代码的语法是什么Sql server sql server的触发器语法,sql-server,Sql Server,我已经意识到,对于不同的软件,触发器的语法略有不同。SQL Server 2012中以下代码的语法是什么 Create trigger before_playercatalogue_update before update on player_catalogue For each row Begin Insert into player_audit set action = 'update', playerid = old.playerid fn
Create trigger before_playercatalogue_update
before update
on player_catalogue
For each row
Begin
Insert into player_audit
set action = 'update',
playerid = old.playerid
fname = old.fname,
datachange = (Now);
End
语法完全不同。它看起来像:
Create trigger after_playercatalogue_update
on player_catalogue after update
as
Begin
Insert into player_audit(action, playerid, fname, datachange)
select 'update', playerid, fname, getdate()
from inserted;
End;
注意一些变化:
- 这是一个
触发器。SQL Server没有“before”触发器after
- SQL Server(或其他数据库)中的
不支持insert
子句set
- SQL Server没有“新”和“旧”。它使用插入的
视图,即已更改记录的视图
,
,但在这种情况下,这并不重要,它在功能上是相同的。