![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа с транзакцией [D7, IB6.x]
a123 © (2004-07-16 10:55:00)Помогите пожалуйста. Что я делаю не правильно.
Нужно чтобы при внесении записи в одну таблицу в друной изменялась тоже запись.
Для синхгронизации хочу использовать механизм транзакций.
procedure Tdm.qC_FACULTAfterPost(DataSet: TDataSet);
begin
try
dbMain.ApplyUpdates([dataset]);
Upd_C_FACULT_WHAT;//это вставка о 2-ю таблицу
dm.tr.CommitRetaining;
except
dm.tr.Rollback;
end;
Набор данных просто закрывается
stud (2004-07-16 12:56:00) [1]tmp=tmp||:cnt
a123 (2004-07-16 12:53:00) [2]а как надо?
подскажите пожалуйста
Соловьев (2004-07-16 12:52:00) [3]есть - LocalSQL.hlp+Conncatention
Но имхо, ты не туда роешь
a123 (2004-07-16 12:50:00) [4]написала проседуру:
create procedure What_Facult(ID_ERMAIN integer)
returns (strsum varchar (100))
as
Declare Variable cnt integer;
Declare Variable tmp varchar (100);
begin
tmp='';
for select ID_FACULT
from C_FACULT
into :cnt do
begin
tmp=tmp+:cnt;
end
strsum=tmp;
suspend;
end;
на tmp=tmp+:cnt;
выводит ошибку !
есть ли спосов конкатенации строк в хранимых процедурах?
a123 (2004-07-16 11:25:00) [5]подскажите пожалуйста поподробней
Курдль (2004-07-16 11:15:00) [6]
> a123 (16.07.04 11:01) [3]
Триггер: курсор + строковая переменная.
Ega23 (2004-07-16 11:04:00) [7]Ну тогда на уровне процедуры хранимой делай.
a123 (2004-07-16 11:01:00) [8]я бы с радостью, но как написать такой тригер который вносил значение при изменении первой таблицы во вторую
Это значение строковое и формируется как сумма строк
тоесть если в таблице1
есть записи
11
22
33
то во второй будет запись: 11;22;33
Johnmen (2004-07-16 10:58:00) [9]Перед изменениями CommitRetaining
Ega23 (2004-07-16 10:56:00) [10]Триггер тебе поможет.