2011-09-21 25 views
1

我有一个表的触发器,但我想调用它们只有当表由应用程序直接更改(.NET应用程序),而不是如果它由于一些其他存储过程可能会被更改在同一个数据库或另一个数据库中。有没有什么像ClientID或什么可以帮助我有条件地区分和触发触发器。有条件调用触发器

谢谢。

回答

0

触发器将始终被调用,但显然您可以将条件逻辑置于RETURN中,前提是您不需要额外的代码运行。

一对夫妇的功能,这可能有助于为APP_NAME()CONTEXT_INFO()

如果做不到这一点,你可以尝试

SELECT * 
FROM sys.dm_exec_sessions 
WHERE session_id = @@SPID 

,看看是否适合任何东西是存在的。

不要依赖这些安全性,因为它们很容易被客户操纵。

+0

真棒,谢谢... – Tintin