2011-07-14 10 views
1

SQLサーバーでは、変数を変更することがあり、多くのストアドプロシージャがすべて使用され、@ @変数のように@@ servernameのように格納できるとすばらしいと思うことがあります。SQL Server内に独自の@@変数を作成する方法はありますか?

独自の「@@変数」を作成することはできますか?もしそうなら、あなたはどうやってそれをしますか?私は一般的に、これらの値を保持するテーブルを持っているでしょうし、私はそこの設定を続けるだろうこのような状況では

(SQL Server 2008を使用して)

答えて

1

。スカラー関数を使用してストアード・プロシージャーでカプセル化し、それを設定することができます。実際に@@変数を作成する方法はわかりませんが、私はそれを調べていません。

1

ストアドプロシージャ間で共有可能なグローバル変数を宣言することはできません。

ただし、グローバル一時表を使用してデータを共有したり、以下の構文を使用してテーブルを宣言したり、値を挿入/読み込みすることはできます。

CREATE TABLE ##myTempTable 
(
    DummyField1 INT, 
    DummyField2 VARCHAR(20) 
) 

あなたがCONTEXT_INFOを使用することができ、接続内でデータを共有するには:

declare @vb varbinary(128) 
set @vb = context_info() -- read value 
set context_info @vb -- set value 
+1

一度も接続が使用されていなければ、一時テーブルは消えます。 –

関連する問題