请问数据库专家:关于SQL语句的执行顺序 updated记录可以不止一条,应该是一个结果集,而你所说的第2点是正确的,但是触发器不能递归调用,也就是说如果在触发器是再执行update语句,该语句是不会再触发触发器的~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to : superrg(秀华)我同意:“updated记录可以不止一条,应该是一个结果集,而你所说的第2点是正确的” 但触发器中不能递归调用??在MSSQL的帮助中说支持递归调用,设置recursive triggers 为ON 就可以,不过不能超过32层。所以只要控制好条件,还是可以在触发器中再触发自身的。另外我想是不是这样: 1。 DatabaseServer.update(var Deleted, inserted: table) //产生 Deleted, inserted表,DatabaseServer.delete,DatabaseServer.insert 也同理。 2。 Trigger(var deleted, inserted) //更新表的触发器触发。如果触发器内又触发了自身,侧 deleted,inserted 参数将改变。形成递归调用。 同意superrg(秀华)和 KingSunSha(弱水三千) 要注意的是,当你的三个UPDATE没有做成一个事务时,那你的存储过程万一没有完成,就可能只修改了部分数据.当你的三个UPDATE做成一个事务时,那这个事务包括了存储过程语句1 --》触发器(完全完成) --》存储过程语句2 --》触发器(完全完成) --》存储过程语句3......的所有操作.呵呵,危险! 小弟求教,望各位指点 T-SQL程序 存储过程中引用变量出错 MSSQL2005被入侵后如何处理?select 504,c.name, 求高手帮我把2008的数据库文件导成2005版本用的~~!!! 求sql,高手请进! 这句sql应该怎么写? UNION ALL 查询时能增加一个标识种子的字段吗 在存储过程中,怎样实现按某一字段,随机选取为数目为n的记录? 关于数据库日志处理 紧急求救:如何通过VB改变SQL Server2000表中列的顺序? 直接复制数据库文件,包括mdf和ldf文件,能把数据库加入到系统中去吗?
我同意:“updated记录可以不止一条,应该是一个结果集,而你所说的第2点是正确的”
但触发器中不能递归调用??在MSSQL的帮助中说支持递归调用,设置
recursive triggers 为ON 就可以,不过不能超过32层。所以只要控制好条件,还是可以在触发器中再触发自身的。
另外我想是不是这样:
1。 DatabaseServer.update(var Deleted, inserted: table) //产生 Deleted, inserted表,DatabaseServer.delete,DatabaseServer.insert 也同理。
2。 Trigger(var deleted, inserted) //更新表的触发器触发。如果触发器内又触发了自身,侧 deleted,inserted 参数将改变。形成递归调用。