|
|
1
1
有一种非常简单的方法来查找在其中触发sqlcr触发器的数据库的名称:只需连接到上下文连接并获取
以下内容应适用于所有SQLCLR对象类型(存储过程、函数、用户定义的聚合、用户定义的类型和触发器):
就是这样!我只是在一个sqlcr触发器中尝试过,效果很好。
另一件需要记住的事情是,限制触发其他触发器的触发器是
TRIGGER_NESTLEVEL
功能。这在T-SQL触发器中效果更好,其中
在sqlcr中,它仍然可以使用,但是如果没有触发器的名称,则只能限制所有触发器。也就是说,您可以防止任何触发器在任何表上(包括同一表上)触发任何其他触发器,但无法限制
只有
同一触发器,同时允许其他表上的触发器可能被相关触发器修改。只需使用上下文连接并运行
|
|
|
2
1
您知道创建触发器时数据库是什么…
|
|
|
3
0
我找到了更好的解决方案。 我必须避免调用exec sp_dboption。相反,我必须创建一个临时表作为“no recursion”标志,然后在触发器开始时检查该表的现有性,如果该表存在,则退出。 为什么是临时桌?
|
|
|
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
|
|
user26814368 · Oracle在触发器中过滤错误数据 1 年前 |
|
|
robertspierre · 在多对多关系中自动删除未引用的行 2 年前 |
|
|
Martin · 由于活动触发器,无法登录到SQL Server 2 年前 |
|
|
gonzalo2000 · 脚本在手动运行时有效,但触发器不起作用 2 年前 |
|
|
yessoos · 在触发的处理程序中使用类属性 2 年前 |