У меня есть окончательная временная таблица (#tempTable) с неизвестным номером столбца.
Мой последний выбор таков, он работает:
SELECT temp.* FROM #tempTable temp
Но вместо '*' я бы хотел назвать каждый столбец индивидуально:
SELECT temp.col1, temp.col2 FROM #tempTable temp
Для этого мне нужно перебрать имена моих столбцов и создать процедуру, я попробовал что-то вроде этого:
DECLARE @ColName VARCHAR(255)
SELECT @ColName = min(name) FROM tempdb.sys.columns
WHERE object_id = Object_id('tempdb..#TEMPTABLE');
WHILE @ColName is not null
BEGIN
-- i need to do it all in once and not each time....
declare @sql varchar(max) = 'SELECT tp.'+'@COlName'+'FROM #TEMPTABLE tp'
exec(@sql)
-- Increment the value, how to go to next column ?
select @ColName = min(name) FROM tempdb.sys.columns WHERE object_id =
Object_id('tempdb..#TEMPTABLE') > @ColName -- does not work because it is a string (column name)
END