Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
drop_generator [2008/01/29 00:18] 193.110.114.140 |
drop_generator [2008/04/30 03:52] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== 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 ^ | ||
+ | | - | - | Да | Да | Да | Да | Да | Да | Да | ? | ? | | ||
+ | |||
+ | ===== Формат ===== | ||
+ | <code> | ||
+ | DROP GENERATOR <наименование>; | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ===== Описание ===== | ||
+ | Оператор, удаляющий генератор <наименование> в текущей БД. | ||
+ | |||
+ | Удалить генератор может либо его владелец либо SYSDBA при условии что его нет в зависимостях других обьектов. Например, генератор не используется в триггерах/хранимых процедурах. | ||
+ | |||
+ | :?: Узнать список объектов где используется генератор (допустим с именем **MY_GENERATOR**) можно при помощи следующего скрипта: | ||
+ | <code> | ||
+ | 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') | ||
+ | </code> | ||
+ | |||
+ | :!: Конструкция появилась только в Firebird v1.5. В ранних версиях сервера удалить созданный генератор [[CREATE GENERATOR]] средствами DDL было невозможно. Для удаления генератора в более ранних версиях сервера использовался оператор DML | ||
+ | <code> | ||
+ | DELETE FROM RDB$GENERATORS R WHERE (R.RDB$GENERATOR_NAME = 'GEN_CUSTOMERS_ID'); | ||
+ | </code> | ||
+ | |||
+ | :!: Конструкция считается устаревшей. Для управления генераторами рекомендуется использовать конструкции [[CREATE SEQUENCE]] / [[DROP SEQUENCE]] | ||
+ | |||
+ | ===== Пример ===== | ||
+ | <code> | ||
+ | DROP GENERATOR GEN_CUSTOMERS_ID; | ||
+ | </code> | ||
+ | |||
+ | ===== См. также ===== | ||
+ | [[CREATE GENERATOR]], [[SET GENERATOR]], [[CREATE SEQUENCE]], [[ALTER SEQUENCE]], [[DROP SEQUENCE]] | ||
+ | |||
+ | ===== Источник ===== | ||