Sql server 检测SqlContext是否为只读(例如SqlFunction)
在SQLCLR中,我可以检测我是否在Sql server 检测SqlContext是否为只读(例如SqlFunction),sql-server,sqlclr,sql-function,Sql Server,Sqlclr,Sql Function,在SQLCLR中,我可以检测我是否在SqlContext中,如果是,则执行其他功能,如写入管道 但是,如何检测我是否位于只读SQL上下文中,例如具有此属性的方法: [SqlFunction(DataAccess = DataAccessKind.Read)] public static void MyMethod() { } 我能推测的唯一方法是回溯堆栈,寻找一个用SqlFunctionAttribute?Hi@Sören Kuklau修饰的方法,因为上下文不是只读的,而是只读的函数;顺便说一
SqlContext
中,如果是,则执行其他功能,如写入管道
但是,如何检测我是否位于只读SQL上下文中,例如具有此属性的方法:
[SqlFunction(DataAccess = DataAccessKind.Read)]
public static void MyMethod()
{
}
我能推测的唯一方法是回溯堆栈,寻找一个用
SqlFunctionAttribute
?Hi@Sören Kuklau修饰的方法,因为上下文不是只读的,而是只读的函数;顺便说一句,所有功能都是。例如,在函数中,您永远不能执行对数据有副作用的操作。作为旁注,您为什么想知道这一点?因为我有一个可以写入数据库的日志函数,在SqlFunction中不能尝试这样做。