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