0

一部のデータをあるデータベースから別のデータベースに移行する T-SQL スクリプトを作成しました。現時点では、動的SQLを使用してそれを行っています。

たとえば、次のコードを参照してください。

Declare @sqlquery nvarchar(4000)
SET @sqlquery = N'SELECT * from ' + @LinkServerName + @SourceDatabaseName + '.dbo.Table'
EXEC @sqlquery

この例では、ソース データベースを含む SQL Server のリンク サーバーの名前を格納@LinkServerNameする変数があります。ソースデータベースの名前を格納する変数です。nvarchar@SourceDatabaseNamenvarchar

私はその方法が好きではありません。私は次のコードを好むでしょう:

SELECT * from @SourceDatabase.dbo.Table

それは可能ですか?

前もって感謝します。

4

1 に答える 1

1

2番目のアプローチは正しくありません。最初のアプローチは正しいものです。詳細については、stackoverflowでこの他の質問を確認してください。how -to-use-variable-for-database-name-in-t-sql

于 2012-08-02T08:03:07.523 に答える