Digamos que eu tenha várias tabelas com uma coluna foobar
. E eu desejo fazer com que todas essas colunas sejam referenciadas foobar.id
como um arquivo FOREIGN KEY
. O problema é que sei que há violações nesse esquema por parte da parte de quem estou importando os dados. Mas prefiro não encontrá-los todos iterativamente.
Como posso encontrar todas as violações para preparar um relatório de questões de integridade de dados para terceiros?
Usando
\gexec
Esta consulta irá gerar uma consulta que poderemos executar posteriormente. Se estivermos usando
psql
podemos usar\gexec
para executar o retorno da última consulta - um recurso feito especificamente para esse tipo de coisa,Dado algo como,
Ele produzirá uma consulta como esta,
Que depois de executado
\gexec
irá gerarQuais são todas as exceções no banco de dados que impediriam você de criar uma chave estrangeira geral
schedformtypecd
paratec.tec.codes_schedule.schedule_id
Exemplo retirado de db-Texas-Ethics-Commission