====== DROP GENERATOR ====== ===== Версии сервера ===== ^ 0.9 ^ 1.0 ^ 1.5.3 ^ 1.5.4 ^ 1.5.5 ^ 2.0 ^ 2.0.3 ^ 2.0.4 ^ 2.1 ^ 2.5 ^ 3.0 ^ | - | - | Да | Да | Да | Да | Да | Да | Да | ? | ? | ===== Формат ===== DROP GENERATOR <наименование>; ===== Описание ===== Оператор, удаляющий генератор <наименование> в текущей БД. Удалить генератор может либо его владелец либо SYSDBA при условии что его нет в зависимостях других обьектов. Например, генератор не используется в триггерах/хранимых процедурах. :?: Узнать список объектов где используется генератор (допустим с именем **MY_GENERATOR**) можно при помощи следующего скрипта: SELECT D.RDB$DEPENDENT_NAME, T.RDB$TYPE_NAME FROM RDB$DEPENDENCIES D, RDB$TYPES T WHERE (D.RDB$DEPENDED_ON_NAME = 'MY_GENERATOR') AND (T.RDB$TYPE = D.RDB$DEPENDENT_TYPE) AND (T.RDB$FIELD_NAME = 'RDB$OBJECT_TYPE') :!: Конструкция появилась только в Firebird v1.5. В ранних версиях сервера удалить созданный генератор [[CREATE GENERATOR]] средствами DDL было невозможно. Для удаления генератора в более ранних версиях сервера использовался оператор DML DELETE FROM RDB$GENERATORS R WHERE (R.RDB$GENERATOR_NAME = 'GEN_CUSTOMERS_ID'); :!: Конструкция считается устаревшей. Для управления генераторами рекомендуется использовать конструкции [[CREATE SEQUENCE]] / [[DROP SEQUENCE]] ===== Пример ===== DROP GENERATOR GEN_CUSTOMERS_ID; ===== См. также ===== [[CREATE GENERATOR]], [[SET GENERATOR]], [[CREATE SEQUENCE]], [[ALTER SEQUENCE]], [[DROP SEQUENCE]] ===== Источник =====