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

Откуда:
Сообщений: 32
Здравствуйте.
На вход процедуре должна подаваться некая темпоральная табличка.
Подскажите, как это сделать?
3 июн 11, 10:26    [10757261]     Ответить | Цитировать Сообщить модератору
 Re: Как проуцедуру подать на вход таблицу?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Внутри процедуры доступны временные таблицы, созданные до ее вызова. Но это в подавляющем большинстве случаев это приведет к рекомпиляции при каждом вызове хп.

Начиная с 2008 версии появилась поддержка параметров табличного типа (table-valued).
3 июн 11, 10:30    [10757283]     Ответить | Цитировать Сообщить модератору
 Re: Как проуцедуру подать на вход таблицу?  [new]
Gwa
Guest
а не достаточно передать её имя?
3 июн 11, 10:41    [10757372]     Ответить | Цитировать Сообщить модератору
 Re: Как проуцедуру подать на вход таблицу?  [new]
piggyland
Member

Откуда:
Сообщений: 32
Всем спасибо.
Что у меня получилось:

CREATE TYPE injp AS TABLE
( idincom int, idjurperson int, quant int)
--
CREATE PROCEDURE lp_incom_jurperson (@table injp READONLY)
as
select * from @table
--
declare @t injp
insert @t
select s.idstor as idincom, 1 as idjurperson , 3 as quant from R_Stores s

exec lp_incom_jurperson @t
3 июн 11, 10:51    [10757462]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить