Люди, подскажите как разрешить следующий коленкор:
необходимо посредством хранимой процедуры возвратить выборку, типа хэш-таблицы. Поясняю, — имена полей должны браться динамически из одной таблицы, значения — из нескольких других. Пробовал сделать через тип TABLE (SQL Server 2000), но в этом случае ALTER TABLE не пашет, а следовательно поля в таблице можно добавить только на этапе определения (DECLARE @TBL TABLE (Field1 int, Field2 nvarchar(10),..,)). Но соль в том, что имена полей выбираются из таблицы динамически, посему приходиться строить такую строку:
SET @SQL = 'DECLARE @TBL TABLE (Field1 int, Field2 nvarchar(10),..,) INSERT INTO @TBL SELECT * FROM @TBL'.
Такая жуть разумеется работает, но SQL-строчка длиной более 8000 символов в EXEC() не обрабатывается.
Хотелось бы обойтись без временных таблиц.
Заранее благодарен.