Как я могу изменить тип данных атрибута объекта - PullRequest
0 голосов
/ 11 октября 2018

Скажите, у меня есть этот ТИП:

create or replace TYPE type1
AS OBJECT
  (order_date     DATE
  ,order_status   VARCHAR2(50)
  ,offer          NUMBER
)

Как я могу изменить тип данных 'предложение' на VARCHAR2(20)?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Вам не нужно воссоздавать тип для вашего случая , только DROP/ADD ( с cascade или invalidate, опция ), достаточно ATTRIBUTE

ALTER TYPE type1 DROP ATTRIBUTE offer [cascade|invalidate];
ALTER TYPE type1 ADD ATTRIBUTE offer varchar2(20) [cascade|invalidate];
0 голосов
/ 11 октября 2018

Возможно только расширение с синтаксисом ALTER TYPE:

ALTER TYPE type1 MODIFY ATTRIBUTE (offer  VARCHAR2(20));
-- only widening of attribute 'OFFER' constraints is allowed

db <> fiddle demo

Вам необходимо воссоздать тип:

create or replace TYPE type1 AS OBJECT(
   order_date     DATE
  ,order_status   VARCHAR2(50)
  ,offer          VARCHAR2(20)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...