将表参数传递给 SQL Server UDF
问题:
是否可以传递将表作为 SQL Server 中定标值用户定义函数 (UDF) 的参数,其中限制表只能包含单个列?
答案:
是的,可以将表参数传递给 UDF,前提是表的数据类型不是时间戳数据类型。为此,必须使用用户定义的表类型。
用户定义的表类型和 UDF 用法示例:
CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50)) GO CREATE FUNCTION Example(@TableName TableType READONLY) RETURNS VARCHAR(50) AS BEGIN DECLARE @name VARCHAR(50) SELECT TOP 1 @name = LocationName FROM @TableName RETURN @name END GO DECLARE @myTable TableType INSERT INTO @myTable(LocationName) VALUES('aaa') SELECT * FROM @myTable SELECT dbo.Example(@myTable)
处理数据来自表:
将现有表中的数据表传递到用户定义的表中类型变量,可以使用以下代码:
DECLARE @myTable TableType INSERT INTO @myTable(field_name) SELECT field_name_2 FROM my_other_table
以上是SQL Server 标量值 UDF 可以接受单列表参数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!