› Fóruns › Banco de dados Oracle › Dúvida select entre dois owners diferentes › Dúvida select entre dois owners diferentes
[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.