Удаление синонима
Функция
Определение оператора удаления синонима таблицы (представления).
Спецификация
::=
Синтаксические правила
-
Если задана опция
PUBLIC
, то удаляется общий синоним, иначе – синоним в указанной< имя схемы >
, иначе синоним в текущей схеме.create public synonym public_auto for system.auto; select * from public_auto; drop public synonym public_auto;
-
Опция
CASCADE
заставляет удалять все таблицы и представления, созданные на основе данного синонима.
Общие правила
-
Удаление синонима не влияет на объект (таблицу, представление), которому он был назначен.
-
Для удаления PUBLIC-синонима требуется уровень прав DBA.
-
Для удаления синонима с
< имя схемы >
требуется уровень прав RESOUCE. -
При запуске ядра СУБД ЛИНТЕР с ключом
/COMPATIBILITY=STANDARD
запрещается удаление таблицы и синонима, на которую ссылаются представления (VIEW
). При этом на консоль ядра и в файлlinter.out
выдаётся список объектов, ссылающихся на удаляемый объект и не позволяющих его удалить. Пример списка:INFO Can't delete relation '"SYSTEM"."TEST1" (#187)' because exists reference(s): "SYSTEM"."TESTV" (#188) "SYSTEM"."TESTV2" (#190)
-
Каскадное удаление таблицы на которую ссылаются представления (
VIEW
) разрешено всегда.