This will fix what you have:
Declare @loopYrbeg int
Declare @loopYrend int
Declare @tablename sysname
Declare @SQL varchar(MAX)
Set @loopYrbeg = 2007
Set @sql = ''
begin
While @loopYrbeg < year( getdate() )
begin
Set @loopYrend = @loopYrbeg + 1
Set @tablename = 'Table_' + CONVERT(varchar(4), @loopYrbeg) + '_' + CONVERT(varchar(4), @loopYrend)
Set @sql = @sql + 'select * from ' + @tablename +char(10)+
'WHERE BRANCHID=''950'' AND (DISC_DTE IS NULL OR DISC_DTE > 20070630)' + char(10) +
'union' + char(10)
Set @loopYrbeg = @loopYrbeg + 1
end
set @SQL = left(@sql, LEN(@sql) - 6)
print (@sql)
end
______________________________________________________________________________
How I want a drink, alcoholic of course, after the heavy lectures involving quantum mechanics.