2011-04-07 177 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则不支持。

相关问题