Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.45 MB
Время: 0.009 c
4-27782
YURiQUE
2003-08-02 12:00
2003.10.09
Иконка приложения


1-27579
IgorKuz
2003-09-29 13:18
2003.10.09
Классы


3-27361
DmitryNekl
2003-09-19 12:46
2003.10.09
Ошибка


8-27617
Sergey
2003-05-23 00:31
2003.10.09
Анимация


14-27718
Islander
2003-09-21 11:19
2003.10.09
Разработка Shareware





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский