在DBMS环境中,TVF / UDF之间的区别是什么?
答案 0 :(得分:3)
UDF是DBMS未提供的任何功能。它代表用户定义的函数。
TVF是特定类型的UDF,即表值函数。它返回一个多行结果(派生表)。例如,在SQL Server中,TVF可以是两种形式之一,即多语句或内联TVF。
UDF可以用过程语言实现,例如PL / SQL或TSQL,但是一些DBMS也支持编译/扩展UDF,例如Java for Oracle和CLR for SQL Server。
答案 1 :(得分:2)
表值函数是一种UDF。在SQL Server中,有两种表值函数(内联和多语句)和一个标量udf。
内联TVF在限制以及引擎和优化器的操作方面非常接近参数化视图。
答案 2 :(得分:1)
UDF有两种类型:SVF(标量值函数)和TVF(表值函数)。前者返回值类型的UDF,后者返回表。比较UDF和Store Producer是很常见的。事实上,它们都很有用。 UDF只能返回一个RowSet,而Store Producer可以返回更多。存储生产者可以,UDF无法支持CUD操作。 UDF支持SQL中的内联查询,而Sprocs不支持。