SSMS 2012では、設定後Options > Query Execution > ANSI > SET IMPLICIT_TRANSACTIONS
、このSO投稿を参照してください
クエリウィンドウに次のコードがあります。
begin transaction
select @@TRANCOUNT
begin
declare @someNumber int; set @someNumber = 1;
print @someNumber;
end
rollback
ブロック全体を選択してを押すExecute
と、期待される結果、つまり1が表示されます。
ただし、最初の4行を選択して実行し、次に5行目を選択するとprint @someNumber;
、次のメッセージが表示されます。
メッセージ137、レベル15、状態2、行1
スカラー変数「@someNumber」を宣言する必要があります。
変数のスコープは正確には何ですか?
私は困惑しています。誰かが光を当てたり、私を正しい方向に向けたりできますか?