2017-03-08 5 views
0

私はLINQPadでT-SQLクエリを実行しようとする、と宣言した変数についてthis pageを参照するが、これを取得しています:私はこれらにヴァルスを宣言し、割り当てるよどのように欠けている何SQL Server/LINQPadに受け入れられるようにスカラー変数を宣言する方法はありますか?

enter image description here

を変数?で...

cmonth = @Cmonth 

私はちょうどのような割り当てを、置き換えることができ

cmonth = 4 

...しかし、この値が参照されているクエリ内のいくつかの場所があり、別のデータセットをテストするたびにそれらをすべて置き換えることは望ましくありません。

私はこれをどうやって行っているのですか?

+2

Select文の前にGOを削除してみてください –

答えて

2

GOステートメントです。 SQLの各チャンクは、次のGOステートメントまで独自のバッチとして実行されます。これらの変数を使用する場合は、それらを使用するステートメントと同じバッチにする必要があります。

短い答えはGOステートメントを削除することです。

+0

なぜこのリンクが "Go"になるのだろうと思います –

+1

@ B.ClayShannon私はあなたのリンクを見ました。その記事には、変数を作るための 'DECLARE'を行うスニペットが表示され、その行と使用される場所の間に' GO'があります。彼らは2つのバッチを持つスニペットを持っていますが、何もしませんが、未使用の変数を宣言していますが、構文を表示するだけです。次のスニペット 'DECLARE @DateFormat INT'を使って、同じバッチで使用します。 –

+1

もう1つの点:複数のバッチを持つスクリプトを実行したい場合があります。 'CREATE PROCEDURE'を作成し、それを6回使用した後、' DROP PROCEDURE'をしたいとしましょう。 procは独自のバッチで作成しなければならないので、その後は 'GO'が必要になります。その後、バッチでそれを使用することができますし、バッチでドロップします。私は彼らがバッチを必要とするあなたのリンクの例を見ない。 –

関連する問題