Pular para o conteúdo

Fóruns Banco de dados Oracle Deletar Tabelas Deletar Tabelas

#85551
JamirJr
Participante

    Precisei excluir alguns registros, mas eles estavam em uso em outras tabelas, então precisei disso:

    SELECT ‘select ”’|| A.TABLE_NAME ||”’ from ‘|| A.OWNER ||’.’|| A.TABLE_NAME ||’ where ‘|| COLUMN_NAME ||’ = 12345;’
    FROM dba_constraints a, dba_cons_columns b
    WHERE a.constraint_name = b.constraint_name
    AND r_constraint_name = ‘XPTO_PK’

    onde 12345 = valor que eu precisava excluir
    XPTO = nome da contraint, chave da tabela de onde eu deveria excluir os registros, ex: fornecedor_pk, funcionario_pk, etc
    Este select vai me dar varios selects, os quais usam a minha constraint.

    e depois isso:

    SELECT ‘UPDATE ‘|| A.OWNER ||’.’|| A.TABLE_NAME ||’ SET ‘|| COLUMN_NAME ||’ = 12345 WHERE ‘ || COLUMN_NAME || ‘= 54321;’
    FROM dba_constraints a, dba_cons_columns b
    WHERE a.constraint_name = b.constraint_name
    AND r_constraint_name = ‘XPTO_PK’