[英]user defined functions
我有这个用户定义的功能。
public partial class UserDefinedFunctions
{
static int i;
[SqlFunction(IsDeterministic = true)]
public static SqlSingle f()
{
return new SqlSingle(1.3F);
}
};
但这仅在i
为只读的情况下有效。 为什么?
如果是读写的,它也可以工作。
如果“不起作用”是指由于程序集包含静态字段而无法在SQL中安装,则出于CLR托管环境中所述的原因,使用静态类变量很危险:
考虑到这些考虑因素,我们不鼓励使用SQL Server中使用的类的静态变量和静态数据成员。 对于
SAFE
和EXTERNAL_ACCESS
程序集,SQL Server在CREATE ASSEMBLY
时检查程序集的元数据,如果发现使用了静态数据成员和变量,则该程序集的创建将失败。
将程序集标记为UNSAFE,以表示您了解与静态变量相关的风险,并且SQL会接受您的程序集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.