малюсенький запросичек в махонькой хранименькой процедурочке! (срочненько)

Cooper
Дата: 04.12.2002 15:21:45
Есть табл1(поле1,поле2,поле3) и табл2(поле1,поле2).
Надо напиать хранимую процедуру, которая поля из таблицы2 с определенным значением поля1 вставляет в таблицу1, а в поле3 - переменную.
Подскажите как сделать в хранимой проц. запрос и перемещаться по его результату.
Я бы не спрашивал такой простой вопрос, еслиб была книжка под рукой, а нужно срочно!
Cooper
Дата: 04.12.2002 15:26:18
Есть подозрения что нужен INSERT INTO...
бредущий
Дата: 04.12.2002 15:28:46
Если имена таблиц и полей фиксированы

create proc prosto
@s1 int,
@s2 int
as
insert into table1(filed1,field2,field3)
select field1,field2,@s2 from table2 where field1=@s1

Если нет, то делается динам запрос
Cooper
Дата: 04.12.2002 15:40:17
Спасибо!
А как использовать транзакции в Хр Проц. Чтобы если будет какой-нить касяк, то произошел откат.
Такой вариант прокатит:

begin transaction my
update tabl1
set
pole1=@pole1
pole2=@pole2
where pole3=@a1
update table2
set
pole1=@pole1
pole2=@pole2
commit transaction my
Jimmy
Дата: 04.12.2002 15:53:07
Если сделать маленькую поправочку в твоем скриптике, то вариантик прокатит:


:::
begin transaction
update tabl1
set
pole1=@pole1
pole2=@pole2
where pole3=@a1

/* крохотная проверочка на наличие ошибочек в процессике обновления */
if @@error <> 0 begin
rollback transaction
return
end

update table2
set
pole1=@pole1
pole2=@pole2

/* крохотная проверочка на наличие ошибочек в процессике обновления */
if @@error = 0
commit transaction
else
rollback transaction
Cooper
Дата: 04.12.2002 16:10:12
2 Jimmy-ку
Спасибочки!