Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 检测SqlContext是否为只读(例如SqlFunction)_Sql Server_Sqlclr_Sql Function - Fatal编程技术网

Sql server 检测SqlContext是否为只读(例如SqlFunction)

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修饰的方法,因为上下文不是只读的,而是只读的函数;顺便说一

在SQLCLR中,我可以检测我是否在
SqlContext
中,如果是,则执行其他功能,如写入管道

但是,如何检测我是否位于只读SQL上下文中,例如具有此属性的方法:

[SqlFunction(DataAccess = DataAccessKind.Read)]
public static void MyMethod()
{
}

我能推测的唯一方法是回溯堆栈,寻找一个用
SqlFunctionAttribute

Hi@Sören Kuklau修饰的方法,因为上下文不是只读的,而是只读的函数;顺便说一句,所有功能都是。例如,在函数中,您永远不能执行对数据有副作用的操作。作为旁注,您为什么想知道这一点?因为我有一个可以写入数据库的日志函数,在SqlFunction中不能尝试这样做。