是否可以将参数传递给SQL Server数据库中的触发器?

时间:2010-10-07 16:11:53

标签: sql sql-server-2008

表可以在插入/删除/更新时触发。触发器将由DB引擎在内部触发。

是否可以将参数传递给SQL Server数据库中的触发器,如存储过程?

3 个答案:

答案 0 :(得分:10)

间接通过CONTEXT_INFO()。见Using Session Context Information。你的触发器需要额外状态的事实总是代码味道。

答案 1 :(得分:0)

答案 2 :(得分:0)

你可以克服它。创建一个专门用于保存参数信息的表,然后在执行将启动触发器的操作之前将数据放入参数表。对触发器进行编码以从参数表中读取。

那是胡萝卜,这是棒子:

  1. 这会使您的触发器复杂化。您需要考虑缺少参数的可能性,并且您必须为参数提供清理。
  2. 您正在使用此技术创建依赖项,因此它仅适用于使用此参数传递技术编码的进程。因此,如果您的数据不仅仅是由您的应用程序修改,那么这将无效。