浅谈SQL Server 数据库之触发器
2010-02-26 00:00:00 来源:WEB开发网触发器7_MSDN参考
加密 dml触发器定义
若要确保其他用户不能查看触发器定义,可以使用with encryption子句加密 dml 触发器。
使用with encryption子句后,触发器定义即以无法读取的格式进行存储。
触发器定义加密后,无法进行解密。且任何人都无法进行查看,包括触发器的所有者和系统管理员。
update() 函数:
可用于确定 insert或 update语句是否影响表中的特定列。
无论何时为列赋值,该函数都将返回 true。
使用if update() 子句示例:
if update()子句示例
create table testTable(a int null, b int null)
go
create trigger my_trig
on testTable for insert
as
if update(b)
print '列b已被修改!'
go
insert into testTable(b) values(123);
-- drop table testTable
注意:
由于 delete 语句无法只对某列进行删除,
因此不能将if update()子句应用于delete 语句。
columns_updated() 函数:
也可用于检查 insert或 update语句更新了表中的哪些列。
此函数使用整数位掩码指定要测试的列。
使用columns_updated() 函数示例:
columns_updated()函数示例
create table testTable2(a int null, b int null)
go
create trigger my_trig2
on testTable2 for insert
as
if ( columns_updated() & 2 = 2 )
print '列b已被修改!'
go
insert into testTable2(b) values(123);
-- drop table testTable2
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接