2017-06-22 10 views
0

現在、リンクされたサーバー間で複数の異なるテーブルを更新できるスクリプトを処理しています。私は08/12のSQLサーバー管理スタジオを使用します。SQLサーバーのリンクサーバーの更新

私は変数としてリンクサーバー文字列を設定しようとしましたが、このスクリプトを最初に設定し、スクリプトを使用して必要なときに参照することができます。私は、ローカルのテーブル/サーバーを更新しているスクリプトの他の部分についても同様に、これをローカル変数として宣言できるという前提で作業していましたが、スクリプトを実行すると、リンクされたサーバー文字列変数が配置されています。

declare @string varchar(max) 

set @string = '[server,instance].[database].dbo.table1' 

update @string 
set field = updatevariable 
where record = identifier 

が変数としてリンクサーバーを使用することが可能です:

私のコードは次のように構成されていますか?

+2

動的SQLを使用する必要があります。参照してください。 – maSTAShuFu

+2

@SandPiperは何ですか?どの部分があなたに無礼ですか? – maSTAShuFu

+1

確かに@SandPiper。あなたの声明を正当化してください。 maSTAsの最初のコメントはカルトでしたが、確かに失礼ではありませんでした。 –

答えて

0

SQL Update文字列を動的に作成してexecに渡すことができます。例:

+0

例をありがとう。私はコードの基本的な構成を理解していますが、このコード行で逆さのカンマを説明することができます:+ 'set field =' '' + @value + '' ''。私は彼らがテキスト以外の機能を持っていると思う? –

+0

@GrantSDC「反転したコンマ」は何を意味するのか分かりませんが、 '@ sql'を構築するには' print @ sql' – shibormot

関連する問題