Здравствуйте, гость ( Вход | Регистрация )
Disaron | Дата 16.3.2011, 12:42 |
ковырялся в PGAdmin, переведённом, увидел там в дереве пункт - "Последовательности". Т.к. с PostgreSQL дел не имел, а только с Firebird, поясните на пальцах, что такое последовательности? Это не тоже что и генераторы в Firebird? На пальцах это контейнер с регулируемым автоинкрементом. Можно использовать, например, для ключевого поля в таком синтаксисе:
где sq_id_tbl собственно сама последовательность. Счетчик назад не откатывается, при удалении элемента таблицы, хотя вручную откатить можно без проблем - правкой секваенса. |
|
Litkevich Yuriy | Дата 15.3.2011, 17:36 |
Генератор в FB - это старший мастер ключ в таблице +1? нет, но для таких целей обычно и используютДля реализации автоинкрементного поля в FB используют связку Тригер+Генератор. В тригере пишут примерно такой код: где:NEW.ID - новое значение поля ID GEN_ID - вызов функции, которая получает у генератора GEN_BLOBS новое значение, посредством прибавления к нему "1". Аналог этой строчки на Си:
Т.е. GEN_BLOBS по сути просто аналог статической переменной в Cи/Cи++. Особенность её - она живёт вне транзакций. Т.е. если транзакцию откатить, то генератор не вернётся в прежнее состояние, это необходимо иначе начнётся каша. |
|
Sergey B. | Дата 15.3.2011, 13:31 |
ковырялся в PGAdmin, переведённом, увидел там в дереве пункт - "Последовательности". Т.к. с PostgreSQL дел не имел, а только с Firebird, поясните на пальцах, что такое последовательности? Это не тоже что и генераторы в Firebird? Генератор в FB - это старший мастер ключ в таблице +1? Если да то оно. |
|
Litkevich Yuriy | Дата 13.3.2011, 15:04 |
ковырялся в PGAdmin, переведённом, увидел там в дереве пункт - "Последовательности". Т.к. с PostgreSQL дел не имел, а только с Firebird, поясните на пальцах, что такое последовательности? Это не тоже что и генераторы в Firebird? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 2:00 |