將表作為參數傳遞到 SQL Server UDF
可以將表作為參數傳遞到 SQL Server 標量 UDF。但是,存在某些限制,如文件中所述:允許除時間戳之外的所有資料類型。若要克服此限制,您可以建立使用者定義的表格類型 (UDTT)。
以下是名為TableType 的UDTT 範例:
CREATE TYPE TableType AS TABLE ( LocationName VARCHAR(50) );
定義了UDTT,您可以建立一個接受該類型參數的函數:
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。要使用此函數,您可以建立UDTT 的變數並向其中插入資料:
DECLARE @myTable TableType; INSERT INTO @myTable(LocationName) VALUES('aaa'); SELECT * FROM @myTable;
現在您可以呼叫範例函數並將變數作為參數傳遞:
SELECT dbo.Example(@myTable);
根據您🎜>根據您從表中傳回CSV 值清單的特定要求,您可以相應地修改該函數。此外,您可以在函數內執行過濾,例如檢查空值和重複項。
以上是如何將表格作為參數傳遞給 SQL Server UDF?的詳細內容。更多資訊請關注PHP中文網其他相關文章!