[英]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.