Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
ВнизОбнуление генератора в InterBase Найти похожие ветки
← →
ruslan_as (2003-09-20 09:57) [0]Как правильно программно обнуляется счетчик генератора?
Я пытаюсь сделать так:
DM.IBQUPDATE.SQL.Clear;
DM.IBQUPDATE.SQL.Add("SET GENERATOR IDTMP TO 0");
DM.IBQUPDATE.ExecSQL;
Не ругается, но и не обнуляет.
Пытаюсь сделать так:
DM.IBQTMP.GeneratorField.IncrementBy:=0;
Тоже не срабатывает.
← →
stud (2003-09-20 10:27) [1]а использовать для этого ibsql не пробовал?
← →
Sergey_Masloff (2003-09-20 10:55) [2]ruslan_as ©
да все правильно вроде делаешь. Транзакцию подтверди и наслаждайся.
← →
jack128 (2003-09-20 11:10) [3]
> да все правильно вроде делаешь. Транзакцию подтверди и наслаждайся
Вообще я думал, что генераторы вне контекста транзакций работают?
Или это только gen_id() касается???
В любом случае второй вариант gen_id(gen_name,-gen_id(gen_name,0));
← →
Sergey_Masloff (2003-09-20 12:34) [4]jack128 © (20.09.03 11:10) [3]
>> да все правильно вроде делаешь. Транзакцию подтверди и наслаждайся
>Вообще я думал, что генераторы вне контекста транзакций работают?
Ну да. Только манипуляции генераторами это DDL и как любой DDL требует подтверждения транзакции в которой проведен.
← →
jack128 (2003-09-20 13:41) [5]
> Ну да. Только манипуляции генераторами это DDL и как любой
> DDL требует подтверждения транзакции в которой проведен.
Сейчас следственный эксперемент провел. Генератору абсолютно пофигу подтвердил ты транзакцию, ролбэкнул или вообще не завершил. Он УЖЕ изменил свое значение, так что и в этой и любой другой транзакции будет использоваться его новое значение...
← →
Zacho (2003-09-20 14:55) [6]
> jack128 © (20.09.03 13:41) [5]
А эксперимент был с GEN_ID или с SET GENERATOR ?
GEN_ID - DML, SET GENERATOR - DDL.
← →
jack128 (2003-09-20 18:54) [7]с set generator. В IBExpert"е проводился эксперемент. В одном окне скуль едитора set generator gen_address_id to 1 (текущ. значение было 0) в другом select gen_id(gen_address_id) from rdb$database
← →
Sergey_Masloff (2003-09-21 14:03) [8]Zacho ©, (20.09.03 14:55) [6]
jack128 © (20.09.03 13:41) [5]
Да, похоже на то. В смысле меняется без транзакции. Я сначала думал что в IBExperte стоит в начтройка что-то вроде AutoCommitDDL, тем более что-то он коммитит автоматом (видно через SQL Monitor) но не из эксперта результат тот же.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c