【发布时间】:2017-07-16 20:43:41
【问题描述】:
跟踪列更改 - 多个目标/表的单个 SQL CLR 触发器
SQL CLR 触发器:
有没有办法从 CLR 代码中获取目标/表名?
目的:
我正在构建一个通用 SQL CLR 触发器来跟踪多个表中的列更改。
信息:
同一个 CLR 触发器可以绑定到多个表。
只要 CLR 触发器绑定到表,无论在 CLR 触发器属性中指定什么目标/表,它都会在任何表上正常触发。这意味着我可以创建 1 个 CLR 触发器并将其用于所有需要更改跟踪的表。
问题是在Trigger内调用表名/触发器名识别。 我尝试了所有 DMV 对象,到目前为止没有任何解决问题的方法。顺便说一句,@@PROCID 在 CLR 中不可访问。
PS:我有一个解决方案,但不能被认为是好的和可靠的。
【问题讨论】: