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

Откуда:
Сообщений: 6
Доброго времени суток!

есть таблица table, в ней поля name, chislo.

Как с помощью процедуры добавить одним запросом несколько строк?

т.е. вызываем процедуру, передаем ей параметры (их количество неизвестно): имя, 1, имя2, 2, имя3, 3, имя4, 4 ... имяN, n
после заносится в таблицу n строк.
21 дек 15, 14:42    [18588748]     Ответить | Цитировать Сообщить модератору
 Re: Как передать неизвестное кол-во параметров в процедуру?  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
voffko91,

  • Создать табличный тип данных с полями, соответствующими параметрам
  • Добавить в процедуру параметр этого типа
  • Создать табличную переменную того же типа
  • Вставить в табличную переменную записи с параметрами
  • Вызвать процедуру, передавая в табличном параметре табличную переменную
  • Внутри процедуры пользоваться параметром-табличной переменной как таблицей read only.
  • 21 дек 15, 14:47    [18588794]     Ответить | Цитировать Сообщить модератору
     Re: Как передать неизвестное кол-во параметров в процедуру?  [new]
    Konst_One
    Member

    Откуда:
    Сообщений: 11540
    например:
    - table type https://technet.microsoft.com/ru-ru/library/bb522526(v=sql.105).aspx
    - xml
    21 дек 15, 14:49    [18588809]     Ответить | Цитировать Сообщить модератору
     Re: Как передать неизвестное кол-во параметров в процедуру?  [new]
    voffko91
    Member

    Откуда:
    Сообщений: 6
    Спасибо всем большое :)
    21 дек 15, 15:24    [18589104]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить