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

Откуда: Харьков
Сообщений: 503
create table XXX(
  a int,
  b int,
  c int
)
create procedure XXX_12
as select 1,2

insert XXX (b,c) exec XXX_12
insert XXX (b,c) exec XXX_12
insert XXX (b,c) exec XXX_12
insert XXX (b,c) exec XXX_12
так работает. поле XXX.a при этом null

а мне нужно вставить в таблицу запись, состоящую из числа и результата процедуры.
что-то типа
insert XXX (a,b,c) values(1, exec XXX_12)
insert XXX (a,b,c) values(3, exec XXX_12)
insert XXX (a,b,c) values(0, exec XXX_12)
insert XXX (a,b,c) values(5, exec XXX_12)

процедуру менять нельзя - чужая.

Вариант
insert XXX (b,c) exec XXX_12
update XXX set a = 1 where a is null

insert XXX (b,c) exec XXX_12
update XXX set a = 3 where a is null

insert XXX (b,c) exec XXX_12
update XXX set a = 0 where a is null

insert XXX (b,c) exec XXX_12
update XXX set a = 5 where a is null
подходит, но слишком громоздкий.

Может, можно сделать элегантней ?
6 сен 05, 18:49    [1852204]     Ответить | Цитировать Сообщить модератору
 Re: Insert ... exec ... со вставкой в ещё одно поле таблицы.  [new]
Glory
Member

Откуда:
Сообщений: 104760
[quot Gerros
Может, можно сделать элегантней ?[/quot]
Элегантнее - это править процедуру.
6 сен 05, 18:59    [1852241]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить