ホームページ > データベース > mysql チュートリアル > テーブルをパラメータとして SQL Server スカラー UDF に渡すことはできますか?

テーブルをパラメータとして SQL Server スカラー UDF に渡すことはできますか?

Mary-Kate Olsen
リリース: 2025-01-05 11:31:40
オリジナル
871 人が閲覧しました

Can I Pass a Table as a Parameter to a SQL Server Scalar UDF?

テーブルをパラメータとして SQL Server UDF に渡す

テーブルをパラメータとしてスケーラー UDF に渡すことは可能ですか?

はい、テーブルをパラメーターとしてスケーラー UDF に渡すことができます。ただし、すべてのテーブル タイプがサポートされているわけではありません。

テーブル タイプの制限

Microsoft のドキュメントによると、CLR ユーザー定義タイプとユーザー定義タイプを含むすべてのデータ タイプがサポートされています。テーブルタイプ。タイムスタンプデータを除くパラメータとして使用できます。 type.

ユーザー定義のテーブル タイプ

テーブルをパラメータとして渡すには、ユーザー定義のテーブル タイプを作成する必要があります。次に例を示します。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート