Como posso desativar temporariamente todas as restrições em uma tabela no Firebird 2.1?
-
21-08-2019 - |
Pergunta
Eu quero desativar todas as restrições de chave estrangeira e reativá-los depois, há alguma maneira de fazer isso?
Eu sei que SQLServer permite isso, mas o que acontece com Firebird?
Solução
chaves AFAICT estrangeiros não pode ser desabilitado no Firebird até 2.1.
Você teria que cair e recriá-los.
Há um semelhante fio em Devshed.
Outras dicas
Eu acho que a única maneira é a cair e depois recriá-las. Desde restrições não são dados, você realmente não perca nenhuma informação do banco de dados, por isso é uma operação inofensiva (desde que você mantenha o script para recriá-los mais tarde).
Versão do flamerobin no repositório SVN tem uma opção para gerar os GOTA e criar scripts automaticamente para a coluna da tabela escolhida dependências. lançamento oficial última tem a mesma opção para tabelas inteiras, de modo que pode ajudá-lo. Não há opção de fazê-lo para toda a base de dados, no entanto. Talvez algum outro administrador. ferramenta tem esse recurso.