Как я могу проверить зависимый порядок типа отбросить их и заменить/изменить начальный тип?

Я пытался изменить тип с помощью следующего кода, и он дал мне код ошибки: 'РТЫ 02303'. Я не знаю много о Oracle или МН / SQL, но я должен решить это; таким образом, я ценил бы дальнейшую справку с этим.

Заранее спасибо. Код является просто примером. Но с другой стороны, я должен проверить его зависимых сначала.

create or replace type A as object (
  x_ number, 
  y_ varchar2(10),
  member procedure to_upper
);
/
5
задан reefaktor 12 April 2010 в 19:51
поделиться

3 ответа

Я уверен, что он есть где-то в словаре данных, но не уверен, где это возможно; и у вас, вероятно, будет много зависимостей, которые нелегко разрешить. Но вместо этого вы можете изменить существующий тип: http://download.oracle.com/docs/cd/B14117_01/server.101/b10759/statements_4002.htm

Также есть FORCE , но это все равно может сделать зависимые объекты недействительными.

1
ответ дан 13 December 2019 в 22:04
поделиться

Если вы использовали тип в таблице, вы сможете увидеть его с помощью запроса вроде:

select * from all_tab_columns
where data_type_owner not in ('SYS');

Но я бы начал с предложения Алекса использовать ALTER TYPE

2
ответ дан 13 December 2019 в 22:04
поделиться

Просмотрите DBA_DEPENDENCIES, ALL_DEPENDENCIES или USER_DEPENDENCIES в зависимости от ситуации:

SELECT OWNER, NAME, TYPE
  FROM DBA_DEPENDENCIES 
 WHERE REFERENCED_OWNER = [type owner]
   AND REFERENCED_NAME  = [type name]
   AND REFERENCED_TYPE  = 'TYPE'
/
4
ответ дан 13 December 2019 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: