是否可以將表作為參數傳遞給縮放器 UDF?
是的,可以將表格作為參數傳遞到縮放器 UDF 中。不過,並不是所有的表格類型都支援。
表格類型的限制
根據微軟的文檔,所有資料類型,包括CLR使用者定義類型和使用者自訂類型表類型,除時間戳記資料類型外均可用作參數。
使用者定義表格類型
要將資料表作為參數傳遞,您需要建立使用者定義的表格類型。例如:
CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50))
範例UDF
以下UDF 以使用者定義的表格類型為參數:
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
註此參數必須指定為READONLY。
範例用法
要使用UDF,請聲明一個使用者定義表格類型的變數並向其中插入資料:
DECLARE @myTable TableType INSERT INTO @myTable(LocationName) VALUES('aaa')
然後就可以呼叫UDF:
SELECT dbo.Example(@myTable)
使用表中的資料
如果您表中有資料要傳遞給UDF,您可以使用變數來儲存資料:
DECLARE @myTable TableType INSERT INTO @myTable(field_name) SELECT field_name_2 FROM my_other_table
然後可以將變數傳遞給UDF:
SELECT dbo.Example(@myTable)
以上是我可以將表格作為參數傳遞給 SQL Server 標量 UDF嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!