Удаление синонима

Функция

Определение оператора удаления синонима таблицы (представления).

Спецификация
   
< удаление синонима >::=
DROP [PUBLIC] SYNONYM [имя схемы.]имя синонима [CASCADE]
Синтаксические правила
  1. Если задана опция PUBLIC, то удаляется общий синоним, иначе – синоним в указанной < имя схемы >, иначе синоним в текущей схеме.

    create public synonym public_auto for system.auto;
    select * from public_auto;
    drop public synonym public_auto;
  2. Опция CASCADE заставляет удалять все таблицы и представления, созданные на основе данного синонима.

Общие правила
  1. Удаление синонима не влияет на объект (таблицу, представление), которому он был назначен.

  2. Для удаления PUBLIC-синонима требуется уровень прав DBA.

  3. Для удаления синонима с < имя схемы > требуется уровень прав RESOUCE.

  4. При запуске ядра СУБД ЛИНТЕР с ключом /COMPATIBILITY=STANDARD запрещается удаление таблицы и синонима, на которую ссылаются представления (VIEW). При этом на консоль ядра и в файл linter.out выдаётся список объектов, ссылающихся на удаляемый объект и не позволяющих его удалить. Пример списка:

    INFO Can't delete relation '"SYSTEM"."TEST1" (#187)' because exists reference(s):
    "SYSTEM"."TESTV" (#188)
    "SYSTEM"."TESTV2" (#190)

  5. Каскадное удаление таблицы на которую ссылаются представления (VIEW) разрешено всегда.