创建触发器如何进行

海大富运动 2003-10-09 03:55:45
请问怎么创建触发器
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
killxtt 2003-10-09
  • 打赏
  • 举报
回复
CREATE TRIGGER
创建触发器,触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。Microsoft® SQL Server™ 允许为任何给定的 INSERT、UPDATE 或 DELETE 语句创建多个触发器。

语法
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}

海大富运动 2003-10-09
  • 打赏
  • 举报
回复
如果还要删除一行后,跳出提示“确定删除”要怎么加
welyngj 2003-10-09
  • 打赏
  • 举报
回复
for example:
create trigger trigger_name
on table_name
for delete
as
print 'Some data were deleted'
aierong 2003-10-09
  • 打赏
  • 举报
回复
创建好后,触发器会自动运行
sdhdy 2003-10-09
  • 打赏
  • 举报
回复
对表进行insert:在inserted表中有刚增加的记录。
对表进行update:在inserted表中有刚更新的记录,在delete表中有更新前的记录。
对表进行delete:在delete表中有刚删除的记录。
--for example
create trigger tri1 on a
for insert
as
--在A表中每插入一条记录时,把f1的值加1
update a set f1=inserted.f1+1 from inserted where a.主键=inserted.主键
aierong 2003-10-09
  • 打赏
  • 举报
回复
CREATE TRIGGER
创建触发器,触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。Microsoft® SQL Server™ 允许为任何给定的 INSERT、UPDATE 或 DELETE 语句创建多个触发器。


USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'reminder' AND type = 'TR')
DROP TRIGGER reminder
GO
CREATE TRIGGER reminder
ON titles
FOR INSERT, UPDATE
AS RAISERROR (50009, 16, 10)
GO

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧