![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Видимость данных
}|{yk © (2004-06-07 17:12:00)FireBird 1.5, FIBPlus 4.8
Процедура проверяет есть ли данный контрагент по его наименованию и ОКПО, и возвращает идентификатор. Но! Хотя данные вносятся нормально, данные по контрагенту можно увидеть только после перезагрузки программы.
Пробовал закрывать и открывать и пишущую, и читающую транзакции. Не помогло.
Поставил AutoCommit в true. Все равно.
В чем проблема?
Соловьев (2004-06-07 17:41:00) [1]а транзакции?
> Данные вносятся таким вот запросом
А нельзя сделать обработку ошибки вставки по уникальному ключу?
}|{yk (2004-06-07 17:24:00) [2]Данные вносятся таким вот запросом
SELECT
INS.KONTR_ID
FROM
INSERT_KONTRAGENT
(
:KONTR_OKPO,
:KONTR_NAME
) INS
Процедура Insert_Kontragent
begin
if (exists(select 1 from app_kontragent a where a.okpo=:kontr_okpo)) then
begin
select a.kontr_id from app_kontragent a where a.okpo=:kontr_okpo into :kontr_id;
end
else
begin
GEN_KONTR_ID= GEN_ID(gen_app_kontragent_id,1);
insert into app_kontragent(kontr_id,kontr_name,okpo) values
(:GEN_KONTR_ID,:kontr_name,:kontr_okpo);
kontr_id=:GEN_KONTR_ID;
end
suspend;
end
Соловьев (2004-06-07 17:19:00) [3]
> Пробовал закрывать и открывать и пишущую, и читающую транзакции
При сохранении - пишушую Commit. и все. если это заносит другой клиент - то набор данных переоткрыть.
И так на всякий случай- настройки пишущей и читающей тр-кции?
> Поставил AutoCommit в true. Все равно.
действительно - все равно :)
HSolo (2004-06-07 17:18:00) [4]Уровень изоляции транзакций какой? А порядок открытия-закрытия?