動的スクリプトを実行して変数を返そうとしているので、スクリプトの残りの部分に渡すことができます。Google の助けを借りていくつかの方法がありますが、まだ正しい構文が得られていないと思うため、エラーまたは null 値が返されます。
誰かが私がどこで間違っているか教えてください。
例: 変数 @table_name の値を返すには ASIA はデータベースであり、これはテーブルから取得されたテーブル名に追加される変数として設定され、T5148 はテーブルからの ID であり、テーブル名をそのまま変換します。変数。他のスクリプトがループしているときにこのスクリプトが座っているので、これを変数に設定しました
ありがとうございました
declare @table_name nvarchar(50)
declare @database nvarchar(50)
declare @id nvarchar(50)
declare @sql nvarchar(max)
set @database = 'ASIA'
set @id = 'T5178'
set @sql = N'SELECT @table_name = ''@database''+table_name
FROM ''@database''+tables (NOLOCK)
WHERE id = ''@id'''
exec sp_executesql @sql, N'@table_name nvarchar(50) output', @table_name output
select @TRAN_TABLE