Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Qual tabela Oracle usa uma sequência?


O problema é que o Oracle nos permite usar uma sequência para preencher colunas em várias tabelas. Cenários em que isso pode ser desejável incluem implementações de supertipo/subtipo.

Você pode usar as dependências no dicionário de dados para identificar relacionamentos. Por exemplo, se você usar gatilhos para atribuir os valores, essa consulta o ajudará:
select ut.table_name
       , ud.referenced_name as sequence_name
from   user_dependencies ud
       join user_triggers ut on (ut.trigger_name = ud.name)
where ud.type='TRIGGER' 
and ud.referenced_type='SEQUENCE'
/

Se você usa PL/SQL, pode escrever algo semelhante para TYPE in ('PACKAGE BODY', 'PROCEDURE', 'FUNCTION') , embora você ainda precise vasculhar o código-fonte para atribuir tabelas e sequências quando tiver vários acessos.