Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопросик по курсору  [new]
igor2222
Member

Откуда: Харків
Сообщений: 1233
Подскажите плиз как лучше решить задачу.
Есть в БД некая таблица, из которй нужно заимпортить данные.
Есть некая стандартная процедура, выполняющая импорт, в которую передается грубо говоря название параметра и одно его значение.
Если таблица имеет определенный набор полей с определенными названиями колонок - то проблем нет- курсор, вычитываем для каждого АйДи весь набор с названиями и последовательно импортим.
Появилась задача сделать то же самое в виде ХП в которую передается название таблицы, но таблицы с неизвестным количеством колонок.
С помощью SYS.columns я вычитал названия, которые будут использоваться в качестве параметров. Посчитал их количество.
Но как лучше поступить дальше?
FETCH NEXT FROM CURSOR INTO... должен иметь определенный набор задекларированных переменных.
А я знаю только их количество.
Декларировать 100 переменных заранее как то нехорошо. Хотелось бы иметь нечто типа массива, в который можно выполнить FETCH, а потом обращаться по индексу.
Есть какие-нибудь варианты?
18 май 11, 15:36    [10672189]     Ответить | Цитировать Сообщить модератору
 Re: Вопросик по курсору  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Уберите курсор да и все. Хотя что вы собрались делать с таблицей неизвестной структуры, я так и не понял.
18 май 11, 15:38    [10672214]     Ответить | Цитировать Сообщить модератору
 Re: Вопросик по курсору  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
igor2222,

"нечто типа массива" в СУБД называются обычно таблицы, а "обращаться по индексу" значит использовать примари кей :)
18 май 11, 15:50    [10672377]     Ответить | Цитировать Сообщить модератору
 Re: Вопросик по курсору  [new]
igor2222
Member

Откуда: Харків
Сообщений: 1233
Спасибо. Придумал решение.
18 май 11, 18:06    [10673642]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить