Форум: "Базы";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
ВнизМне необходимо получить значение из поля, которое формируется при помощи генератора и триггера Найти похожие ветки
← →
Rex (2002-01-23 11:12) [0]Уважаемые мастера! Мне необходимо получить значение из поля, которое формируется при помощи генератора и триггера. При вводе записи в таблицу, значение этого поля не доступно. Оно появляется лишь после IBDataSet.Close и IBDataSet.Open. Это очень коряво, есть ли вариант получше?
← →
Alexandr (2002-01-23 11:45) [1]какими компонентами пользуешься?
← →
Alexandr (2002-01-23 11:46) [2]сорри.
Догадался IBX с политры Interbase
я не знаю как легче это сделать в IBX, кстати, а какой текст у генератора?
← →
Romkin (2002-01-23 11:48) [3]Просто получай значение триггера на OnNewRecord, у меня просто организованы не триггера, а процедуры вида
create procedure <TableName>_ID
returns(ID integer)
as
begin
ID = Gen_ID(<GeneratorName>,1);
end
Для каждой таблицы. НА клиенте есть TStoredProc, и делается вызов:
SpID.StoredProcName := TableName + "_ID";
SpID.ExecProc;
NewID := SpID.ParamByName("ID").asInteger;
и пользуешься, причем в триггере присвоение, если значение поля NULL
← →
Rex (2002-01-23 13:31) [4]А если я хочу, чтобы значение этого поля было записано в дочернюю таблицу. Можно ли заставить работать какой-нибудь триггер, который бы на before insert дочерней таблицы вставлял значение поля из родительской ?
← →
Digitman (2002-01-23 14:12) [5]см. TIBDataSet.RefreshSQL
← →
Romkin (2002-01-23 14:13) [6]Я ж говорю - на клиенте и вставляй, чтобы перечитывать не пришлось. И как ты в триггере определишь родительскую запись?
← →
Rex (2002-01-23 15:06) [7]2Romkin
Никак. У меня c триггером не получилось. Но по вашему (с процедурой) всё работает.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c