ホームページ >データベース >mysql チュートリアル >テーブルをパラメータとして SQL Server スカラー UDF に渡すにはどうすればよいですか?
テーブルをパラメータとして 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 中国語 Web サイトの他の関連記事を参照してください。