私は1台のサーバーに2 dbを持っています。 @db変数に基づいて選択するプロシージャを記述する必要があります。SQL Serverをケースdbから選択
私は、このための2つの可能性を知っている:私は@SQL nvarchar(max)
を宣言し、プレーンテキストで私のクエリを生成
を。それから私は
exec @SQL
をやる。 Bad variant imho。私は2つの同様のクエリを行い、@ db = '' 1番目のクエリelseクエリ2番目のクエリを使用します。それはコードが重複しているので、別の悪い変形です。
質問がありますか?このようにする方法はありますか?select * from @ db.dbo.table?
シノニムを見たいかもしれませんが、ミッドバッチを1つ作成できるかどうかはわかりません。 http://msdn.microsoft.com/en-us/library/ms177544.aspx –
データベースを含むテーブル名は、動的SQLを使用せずに変数で指定することはできません。唯一の他の選択肢は、ユーザーに値を入力し、ユーザーの入力に基づいて値をハードコードしたスクリプトを生成することです。 –