aqui creo que necesitas mas bien ejecutar un query dinamico...algo por este estilo
Código SQL:
Ver originalDECLARE @YEAR INT
DECLARE @inicio INT
DECLARE @query VARCHAR(MAX)
SET @inicio=2012
SET @YEAR=datepart(yyyy,getdate())
SET @query='select * from apun ' + CONVERT(VARCHAR(20),@inicio) UNION '
while @inicio<=@year
begin
if @inicio=@year
set @query=@query + 'SELECT * FROM apun ' + convert(varchar(20),@inicio)'
ELSE
SET @query='select * from apun ' + CONVERT(VARCHAR(20),@inicio) UNION '
set @inicion=@inicio+1
end
exec sp_sqlexec @query
saludos!