Это будет работать:
declare @tab table (BillID int)
insert into @tab
select top 10 BillID from tblBill
select * from @tab
Это не будет работать:
select top 10 BillID into @tab from tblBill
select * from @tab
Если вы хотите определить схему таблицы var на лету, вы можете использовать что-то вроде этого:
declare @str varchar(1000)
set @str = 'declare @tab table (BillID int) ' +
'insert into @tab ' + 'select top 10 BillID from tblBill ' + 'select * from @tab '
exec(@str)
Кроме того, поищите ( sp_executesql ) на сайте Пинала Дейва, чтобы получить полезный совет