Показать сообщение отдельно
  #4  
Старый 20.04.2009, 21:25
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ну вот допустим есть запрос вида:
Код:
select Table1.Field1,Table2.Field1 from Table1 left join Table2 on Table1.ID=Table2.ID
Очевидно наш запрос необновляемый т.к. нет возможности однозначно определить скока и куда положить, а нам позарез надо в Table1 и Table2 положить значения.
Мы тогда вызываем хринимку:
Код:
AdoStoredProc1.ProcedureName := 'UpdateTable1Table2;1';
AdoStoredProc1.Parameters.ParamValues['ID'] := 1;
AdoStoredProc1.Parameters.ParamValues['Val1'] := 'Новое значение Table1Field1';
AdoStoredProc1.Parameters.ParamValues['Val2'] := 'Новое значение Table2Field1';
AdoStoredProc1.ExecProc;

а на сервере у нас есть хранимка:
Код:
create procedure UpdateTable1Table2(@ID int, @Val1 as varchar(50),@Val2 as varchar(50))
as 
begin
 update table Table1 set Field1=@Val1 where Id = @ID
 update table Table2 set Field1=@Val2 where Id = @ID
end
Если не наврал с синтаксисом, то где-то так.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием