Вниз
Скачать: CL | DM;

Обнуление генератора в 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-27601
Mohamed
2003-09-28 22:14
2003.10.09
Start Button


14-27680
k_len
2003-09-22 13:01
2003.10.09
mapobject


8-27611
fs_more
2003-06-10 13:08
2003.10.09
Не могу воспроизвести файл с помощью PlaySound()


3-27346
Saperxl
2003-09-19 20:00
2003.10.09
TIBUpdateSQL.ModifySQL


1-27454
MIKL
2003-09-27 18:07
2003.10.09
Компоненты не подключаються!




   Наверх