私は動的 SQL と SQL Server 全般にかなり慣れていませんが、 内のテーブル リストを反復処理したいと考えていますinformation_schema.tables
。各反復にはvarchar
、テーブル名 ( ) 内で検索される月-年をリストする変数がありますwhere table_name like concat('USA_RETHHDs_%', @Month)
。
一致した日付を持つ各テーブルは、varchar
変数に配置されます。table
問題は、代わりにリストから変数を取得したいのですが、information_schema.tables
これを行う方法がわからないことです。varchar
その結果、変数を動的 SQL クエリに埋め込んで、動的ルートに移動しようとしています。ただし、table
ではなく変数が必要varchar
です。
declare @Month varchar(6)
declare @Table varchar(32)
declare @sql nvarchar(max)
declare @MonthCount int
while @MonthCount > 0
begin
select @Month = DateSuffix from @DateTable where Row = @MonthCount
select @Table = table_name from information_schema.tables where table_name like concat('USA_RETHHDs_%', @Month)
select @Table = concat('dbo.', @Table)
set @sql = 'select * from @Table'
execute SP_EXECUTESQL @sql
select @MonthCount = @MonthCount - 1
end