Изменить тип: добавить атрибут, если он еще не существует - PullRequest
0 голосов
/ 07 сентября 2010

Есть ли способ изменить тип объекта, чтобы добавить атрибут, только если он еще не существует?Я пишу сценарий, который будет работать на нескольких базах данных.Я пытаюсь избежать ненужных ошибок PLS-00410 (повторяющиеся поля в RECORD, TABLE или списке аргументов не разрешены).

Что-то вроде следующего:

ALTER TYPE employee
ADD ATTRIBUTE --IF NOT EXISTS
  (address2 VARCHAR2(30))
CASCADE;

Если нетэлегантное встроенное решение, подобное приведенному выше, есть ли системная таблица, на которую я могу посмотреть?ALL_TYPES содержит только количество атрибутов для каждого типа, но не конкретные атрибуты.

1 Ответ

3 голосов
/ 07 сентября 2010

ALL_TYPE_ATTRS - это то, что вы ищете. Это дочерний элемент ALL_TYPES для типов OBJECT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...