將表作為參數傳遞給SQL Server UDF
可以將表作為參數傳遞給標量UDF SQL Server,並利用使用者定義的表類型。
建立使用者定義的表格類型表類型
定義表格類型來表示表格參數的結構。例如:
CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50))
定義 UDF
建立一個採用使用者定義表型參數的標量 UDF。此參數必須聲明為 READONLY。例如:
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
傳遞表變數
在SQL Server 中,您可以建立使用者定義表類型的變數並用來自下列位置的資料填入它:一張桌子。例如:
DECLARE @myTable TableType INSERT INTO @myTable(LocationName) VALUES('aaa')
用法
要將 UDF 與表格變數一起使用,請將變數傳遞為參數。例如:
SELECT dbo.Example(@myTable)
處理重複項和NULL
為了確保表中沒有重複項和NULL,您可以在UDF 中包含相關檢查:
CREATE FUNCTION Example(@TableName TableType READONLY) RETURNS VARCHAR(50) AS BEGIN DECLARE @name VARCHAR(50) SELECT TOP 1 @name = LocationName FROM @TableName WHERE LocationName IS NOT NULL AND LocationName NOT IN (SELECT LocationName FROM @TableName WHERE LocationName IS NULL OR LocationName = @name) RETURN @name END
以上是如何將表格作為參數傳遞給 SQL Server 標量 UDF?的詳細內容。更多資訊請關注PHP中文網其他相關文章!