Pular para o conteúdo principal

Postagens

Mostrando postagens de agosto, 2009

Verificando recursivamente as constraints que levam a uma tabela

create or replace procedure recur_constraint(v_owner in varchar2, v_table_name varchar2, v_fk_constraint_name varchar2 default NULL, v_r_constraint_name varchar2 default NULL, v_r_status varchar2 default NULL, level number default 0) is i integer; v_constraint_name dba_constraints.constraint_name%type; v_status dba_constraints.status%type; cursor c_constraint is select owner, table_name, constraint_name, r_constraint_name, status from dba_constraints where dba_constraints.r_owner = v_owner and dba_constraints.r_constraint_name = v_constraint_name and dba_constraints.constraint_type = 'R'; begin select constraint_name, status into v_constraint_n

Mostrando Recursivamente as dependencias ou o reverso: quais objetos são dependes de...

Em alguns casos, você quer saber quais são as dependências de um objeto, por exemplo: - O que acontece se recompilar o objeto em questão - Objetos que evitam a compilação do objeto em questão (exemplo: data-dictionary e objeto no esquema errado) Uma outra questão pode ser que os objetos são dependentes de um objeto específico (dependências reversa), por exemplo: - Objetos que serão invalidados caso eu dropar objeto em questão. - Qual é a dependência em cascata para este objeto específico. Como a view dba_dependencies não tem as informações necessárias podemos utilizar as procedures abaixo (Lembre que para compilar, é necessário grant nas views dba_dependencies e dba_objects) -- Mostrar dependencias de um objeto: create or replace procedure denilson.recur_object(v_owner in varchar2, v_object_name varchar2, v_object_type varchar2,