SQL SERVER のクエリに問題があり、次の動的クエリを作成しました。
declare @cont int
declare @sqlquery varchar(1000)
declare @sqlquery2 varchar(500)
declare @sqlquery3 varchar(2000)
declare @anho varchar(4)
set nocount on
drop table ti
set @anho = (select year(getdate()))
set @cont = 1
set @sqlquery = ''
while @cont <= 12
begin
set @sqlquery2 = '(a.['+@anho + RIGHT('00'+cast(@cont as varchar),2)+']+b.['+@anho + RIGHT('00'+cast(@cont as varchar),2)+']+c.['+@anho + RIGHT('00'+cast(@cont as varchar),2)+']+d.['+@anho + RIGHT('00'+cast(@cont as varchar),2)+']) as ['+@anho + RIGHT('00'+cast(@cont as varchar),2)+'],'
exec (@sqlquery2)
set @sqlquery = @sqlquery + @sqlquery2
exec (@sqlquery)
set @Cont = @Cont + 1
end
exec(@sqlquery)
set @sqlquery3 = 'select a.gestion,'+@sqlquery+' '+quotename('GES08','''')+' as COD_GES into ti from Llamadas_Mensual_Oro_Final a inner join Llamadas_Mensual_plata_Final b on a.gestion = b.gestion inner join Llamadas_Mensual_Reten_Final c on b.gestion = c.gestion inner join Llamadas_Mensual_cable_Final d on c.gestion = d.gestion'
exec(@sqlquery3)
set nocount off
select * from ti
さて、私が抱えている問題は、ストア プロシージャを使用してクエリを実行するときです。問題はありませんが、コードのみを実行すると、SQL SERVER に次のようなエラー メッセージが表示されます。
メッセージ 102、レベル 15、状態 1、行 1 'a' 付近の構文が正しくありません。
クエリは問題ありませんが、エラー メッセージを非表示にしたいのですが、この問題を解決できる人はいますか?