ホームページ > データベース > mysql チュートリアル > 複数の SQL Server クエリ間で変数を共有するにはどうすればよいですか?

複数の SQL Server クエリ間で変数を共有するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-29 13:02:17
オリジナル
408 人が閲覧しました

How Can I Share Variables Across Multiple SQL Server Queries?

SQL Server のクエリ間で変数を共有する方法

SQL Server には、グローバル変数自体の概念がありません。ただし、複数のクエリまたはデータベース間で特定の値を再利用する必要がある場合は、いくつかのアプローチを検討できます。

スカラー変数の使用

スカラー変数を宣言することもできます。個々のクエリ内では、これらの変数はスコープ外ではアクセスできません。複数のクエリで同じ変数を使用するには、スクリプトの先頭で宣言できます:

DECLARE @GLOBAL_VAR_1 INT = Value_1
DECLARE @GLOBAL_VAR_2 INT = Value_2
ログイン後にコピー

ただし、この方法では、異なるデータベース コンテキストで変数を使用しようとするとエラーが発生する可能性があります。

SQLCMD 変数の使用

SQL Server で使用可能な SQLCMD モードManagement Studio (SSMS) を使用すると、現在のバッチまたはスクリプトをスコープとする変数を定義できます。これらの変数には、次の構文を使用してアクセスできます。

$(variable_name)
ログイン後にコピー

SQLCMD 変数を宣言するには:

:setvar variable_name value
ログイン後にコピー

例:

:setvar GLOBAL_VAR_1 10
ログイン後にコピー

これを使用できます。後続のクエリの変数:

SELECT * FROM TABLE WHERE COL_1 = $(GLOBAL_VAR_1)
ログイン後にコピー

SQLCMD 変数のみであることに注意してください同じスクリプトまたはバッチ内で永続化します。

テーブル変数の使用

別のオプションは、テーブル変数を作成し、そこに必要な値を挿入することです。その後、テーブル変数を複数のバッチまたはデータベース間で結合したりクエリしたりできます。

DECLARE @GlobalVars TABLE (
    Name VARCHAR(50),
    Value INT
)

INSERT INTO @GlobalVars (Name, Value)
VALUES ('GLOBAL_VAR_1', 10), ('GLOBAL_VAR_2', 20)

SELECT * FROM TABLE
JOIN @GlobalVars ON TABLE.VarName = @GlobalVars.Name
ログイン後にコピー

このアプローチにより柔軟性が高まり、変数の共有が必要なさまざまなシナリオで使用できます。

以上が複数の SQL Server クエリ間で変数を共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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