ホームページ >データベース >mysql チュートリアル >テーブルをパラメータとして SQL Server UDF に渡すにはどうすればよいですか?
テーブルをパラメータとして 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;
これで、Example 関数を呼び出して変数をパラメータとして渡すことができます:
SELECT dbo.Example(@myTable);
テーブルから値の CSV リストを返すという特定の要件に応じて、関数を変更できます。さらに、null や重複のチェックなど、関数内でフィルタリングを実行できます。
以上がテーブルをパラメータとして SQL Server UDF に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。