2011-04-07 216 views

回答

3

UDF是DBMS未提供的任何函數。它代表用戶定義的功能。

TVF是一種特定類型的UDF,即表值函數。它返回一個多行結果(派生表)。例如,在SQL Server中,TVF可以是兩種形式之一,即多語句或內聯TVF。

UDF可以以過程語言實現,例如PL/SQL或TSQL,但某些DBMS也支持編譯/擴展UDF,例如Java for Oracle和CLR for SQL Server。

+0

爲了記錄,DB2 LUW還支持CLR和Java。 – 2011-04-07 05:08:22

2

表值函數是一種UDF。在SQL Server中,有兩種表值函數(內聯和多語句)和一個標量udf。

內聯TVF實際上更接近於參數化視圖,因爲它們的限制以及引擎和優化器的操作。

1

UDF有兩種類型:SVF(標量值函數)和TVF(表值函數)。前者返回值類型的UDF,後者返回表格。比較UDF和Store Producer是很常見的。事實上,它們都是有用的。 UDF只能返回一個RowSet,而Store Producer可以返回更多。 UDF不能支持CUD操作,而Store Producer可以。 UDF支持SQL中的內聯查詢,而Sprocs則不支持。

相關問題