Введите синоним в оракуле - PullRequest
4 голосов
/ 08 сентября 2011

Можно ли создать "синоним типа" в oracle? Что-то вроде:

CREATE PUBLIC SYNONYM EmailType FOR VARCHAR2(120);

Ответы [ 3 ]

3 голосов
/ 14 сентября 2011

Вы не можете сделать это, но вы можете использовать SUBTYPE.Поместите объявление SUBTYPE внутри пакета и используйте его.

CREATE OR REPLACE PACKAGE SUBTYPES_PKG IS
  SUBTYPE EMAIL IS VARCHAR2(120);
END;
2 голосов
/ 08 сентября 2011

То, что вы ищете, известно в других базах данных как «домен», и в Oracle нет доменов.Извините за плохие новости.Чтобы использовать TYPE в Oracle, вам потребуется что-то вроде

CREATE OR REPLACE TYPE EMAILTYPE AS OBJECT
  (
  strEmail  VARCHAR2(120)
  )

, а затем вам, вероятно, потребуется определить конструкторы и методы для работы с вашим типом.

Делитесь и наслаждайтесь.

0 голосов
/ 09 сентября 2011

В данный момент у меня нет доступа к базе данных, поэтому я проверю утром, но я вполне уверен, что вы можете сделать это.Хотя вы не можете создать объект как общедоступный синоним, вы можете создать синоним для почти любого объекта.

CREATE OR REPLACE TYPE EmailType AS OBJECT( EMail VARCHAR2(120));
create or replace public synonym emailtype  for emailtype;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...