如果update触发器被触发后执行一条update自己的语句,触发器里update自己的语句不会再次触发。
解决方案 »
- 求教:主表联合查询从表。去掉重复记录
- 为何SELECT出来的数据不够齐整
- 各位高手帮我查查错!我实在没有办法了!
- 求某日以前,所有人最后的金额并合计的SQL语句
- 我下载了sql2000中文版4合1安装文件,是一个iso文件,如何运行安装?
- 以.DAT后缀的数据库文件是什么数据库啊?
- 这个问题大家是怎么做的。
- 权限问题,怎样让用户对无权限的数据库对象看不见或打不开(数据库是sqlserver2000)
- 求一 SQL 语句,消除相同数据,复制到同一表(急)
- sql server2000中,由触发器生成的值怎么取?我用rs.addnew rs.update插入后,不能用rs("XX")取得值?
- 【欢迎讨论】作日本外包对于个人发展到底利弊哪个大?欧美呢?如果以后不作技术,希望向项目经理发展呢?发现外包公司越来越多~
- 为什么我的sql server 只能用计算机名才可以访问呢?
当为 true 时,启用触发器递归调用。这时会造成循环触发,直到超过触发器的最大递归层数一数32,然后报错
当为 false 时,只防止直接递归。这时没影响,不会再次触发触发器
EXEC Sp_dboption 'DataBaseName','recursive triggers','true/flase'
将触发器设置为递归式.
不过要在触发器中的updata语句前判断状态参考值的状态,再决定它是否执行.
如果只要一次递归,那就在初次执行时将它的值改变.如果要按条件递归也是一样的,在适当的时候改变状态参考值就可以了.比如要递归功10次,那就把初始值设为0,在每次递归时给参考值加1.值到不小于10时不再执行就可以了.