在 C# 中为 SQL Server 2008 Express 编写 INSERT 触发器时:我发现需要以下 SqlTrigger 注释:
[SqlTrigger(Name = "SomeMethod", Target = TABLE_NAME, Event = "INSTEAD OF INSERT")]
public static void SomeMethod() { ... }
Target 规范似乎是一个烦人的要求。我想让这个触发器可以在各种表上运行。无论如何要避免指定目标,或者在 SQL 的创建期间覆盖它?
与此问题类似: SQL CLR Trigger - get Target / Table name 但我希望能够动态设置目标。
我探索这一点的原因是我有一些表现不佳的遗留代码。我希望能够在不关闭装配触发器的情况下诊断潜在的问题。理想情况下,劫持用于它的插件,进行一些诊断,然后传回原始组件。我相信这个 Target 参数限制了我这样做。