Pular para o conteúdo

Fóruns Banco de dados Oracle Dúvida select entre dois owners diferentes Dúvida select entre dois owners diferentes

#91688
gsmdf
Participante

    [quote=”burga”:cc3hwbrl]Na verdade o erro está na primeira substr…
    Está assim:
    ‘N_’ || substr(t1.column_name,3,30)

    enquanto devia estar assim:

    substr(‘N_’ || t1.column_name,3,30)

    Mas o mais correto eu acredito que seria com substr iniciando no primeiro caracter e não no terceiro, pra contar as pks da auditoria…[/quote]

    Realmente isto estava errado, agora consertei:


    (select t1.table_name, substr('N_' || t1.column_name,3,30) as COLUNAS_FALTANTES
    from DBA_CONS_COLUMNS t1 join DBA_CONSTRAINTS t2
    on t1.constraint_name = t2.constraint_name
    and t1.owner = t2.owner
    and t1.table_name = t2.table_name
    and t1.owner = 'TCU'
    and t2.constraint_type = 'P'
    union all
    select table_name, substr('V_' || column_name,3,30)
    from DBA_TAB_COLUMNS
    where owner = 'TCU')
    minus
    select table_name, substr(column_name,3,30)
    from dba_tab_columns
    where owner = 'AUDIT_TCU'

    Porém a primeira instancia que retorna já está errada:

    No owner TCU há a coluna COD_MEMBRO_MINISTERIO_PUBLICO.
    Ai no owner AUDIT a coluna vira V_COD_MEMBRO_MINISTERIO_PUBLIC.

    E o select está retornando como coluna faltante COD_MEMBRO_MINISTERIO_PUBLICO.