有关触发器 1
来源:互联网 发布:编程做游戏 编辑:程序博客网 时间:2024/06/03 07:26
INSTEAD OF
执行触发器语句,但不执行触发触发器的 SQL 语句,比如试图删除一条记录时,将执行触发器指定的语句,此时不再执行 delete 语句。例:
create trigger f
on tbl
instead of delete
as
insert into Logs...
IF UPDATE(列名)
检查是否更新了某一列,用于 insert 或 update,不能用于 delete。例:
create trigger f
on tbl
for update
as
if update(status) or update(title)
sql_statement --更新了 status 或 title 列
inserted、deleted
这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录形成的表,deleted 保存的是 delete 或 update 之前所影响的记录形成的表。例:
create trigger tbl_delete
on tbl
for delete
as
declare @title varchar(200)
select @title=title from deleted
insert into Logs(logContent) values('删除了 title 为:' + title + '的记录')
说明:如果向 inserted 或 deleted 虚拟表中取字段类型为 text、image 的字段值时,所取得的值将会是 null。
看当前数据库中有哪些触发器
use 数据库名
go
select * from sysobjects where xtype='TR'
查看某个触发器的内容
use 数据库名
go
exec sp_helptext '触发器名称'
存储过程 sp_helptrigger 用于查看触发器的属性。
sp_helptrigger 有两个参数:第一个参数为表名;第二个为触发器类型,为 char(6) 类型,可以是 INSERT、UPDATE、DELETE,如果省略则显示指定表中所有类型触发器的属性。
例:
go
exec sp_helptrigger tbl
- 有关触发器 1
- 有关触发器 2
- oracle 有关触发器
- 有关触发器的疑问:???
- Oracle数据库中有关触发器问题
- 有关 SQL Server触发器 11/13
- Mysql有关存储过程与触发器详解:
- 触发器--1
- 触发器-1
- 触发器-1
- 触发器1
- 有关Oracle触发器和SQL Server的一点小差别
- 一个有关mySQL 触发器激活的错误 #1442
- Oracle EBS中有关Form的触发器的执行顺序
- Oracle EBS中有关Form的触发器的执行顺序
- 有关触发器的问题-一次插入多条
- Oracle EBS中有关Form的触发器的执行顺序
- Oracle EBS中有关Form的触发器的执行顺序
- WINDOWS2003进行WindowsFTP设置的一些注意事项
- CE驱动大全 一
- powerdesigner 显示 工具选项板 的菜单
- zz - DLL远程注入
- 中文输入法的添加
- 有关触发器 1
- C#中类的可访问修饰符
- SQL Server 2005 安装不了SP2的原因及解决办法
- 基于WinCE的I2C驱动程序设计
- 关于ICommand的一两点注意事项
- Linux下的Memcache安装
- Visual C 线程同步技术剖析
- Memcache基础教程
- 在Linux系统下检测U盘是否已连接的方法