1. ホーム
  2. sql

[解決済み] goをまたいで変数を持続させる方法はありますか?

2023-03-01 06:58:15

質問

goをまたいで変数を持続させる方法はありますか?

Declare @bob as varchar(50);
Set @bob = 'SweetDB'; 
GO
USE @bob  --- see note below
GO
INSERT INTO @bob.[dbo].[ProjectVersion] ([DB_Name], [Script]) VALUES (@bob,'1.2')

これを見る SO の質問で 'USE @bob' の行を参照してください。

どのように解決するのですか?

この go コマンドはコードを別々のバッチに分割するために使用されます。もしそれがまさにやりたいことであるならば、使うべきですが、それはバッチが実際には別々であり、それらの間で変数を共有できないことを意味します。

あなたの場合、解決策は簡単です。 go ステートメントを削除すればよいのです。

余談:変数を use ステートメントで使用することはできず、データベースの名前でなければなりません。