SQL3600N | A opção IMMEDIATE CHECKED da instrução SET INTEGRITY não é válida, pois a tabela "<nome-da-tabela>" não se encontra no estado de verificação pendente. |
Explicação: É verificado se existem violações de restrição nos dados somente se a tabela for colocada no estado de verificação pendente.
Usuário responsável: Use a instrução SET INTEGRITY com a opção OFF para colocar uma tabela no estado de verificação pendente.
sqlcode: -3600
sqlstate: 51027
SQL3601W | A instrução causou a colocação de uma ou mais tabelas no estado pendente de verificação. |
Explicação: Há duas situações onde isto ocorre.
Usuário responsável: Esta é uma mensagem de advertência. O usuário deve executar a instrução SET INTEGRITY com a opção IMMEDIATE CHECKED para validar a integridade em todas as tabelas dependentes e descendentes.
sqlcode: +3601
sqlstate: 01586
SQL3602W | O processamento da verificação de dados encontrou violações de restrições e as moveu para tabelas de exceção. |
Explicação: Existem linhas que violam restrições especificadas para verificação pela execução da instrução SET INTEGRITY. Estas linhas foram movidas para as tabelas de exceção.
Usuário responsável: Verifique nas tabelas de exceção as linhas que violam restrições. As linhas foram excluídas da tabela original, mas podem ser corrigidas e transferidas de volta das tabelas de exceção.
sqlcode: +3602
sqlstate: 01603
SQL3603N | O processamento de verificação de dados através da instrução SET INTEGRITY encontrou violação de integridade envolvendo uma limitação com o nome "<nome>". |
Explicação: Foi verificado que uma linha violou uma restrição definida em uma tabela especificada para ser verificada pela instrução SET INTEGRITY. O nome "<nome>" é um nome de restrição ou o nome de uma coluna gerada.
Usuário responsável: A linha não foi excluída da tabela, pois a opção FOR EXCEPTION não foi usada.
É aconselhável executar a instrução SET INTEGRITY usando a opção FOR EXCEPTION ao verificar os dados. Os dados podem ser corrigidos com as informações da(s) tabela(s) de exceção.
sqlcode: -3603
sqlstate: 23514
SQL3604N | A tabela de exceção "<nome-tabela-exceção>" correspondente à tabela "<nome-da-tabela>" na instrução SET INTEGRITY ou no utilitário LOAD não possui a estrutura adequada, foi definida com índices exclusivos, limitações, colunas geradas ou disparadores ou ela própria está no estado de verificação pendente. |
Explicação: A tabela de exceção correspondente a uma tabela deve ter uma definição semelhante a da tabela original. As colunas opcionais para o utilitário obedecem à especificação na seção relevante da documentação que descreve as tabelas de exceção. Talvez não haja nenhuma coluna gerada na tabela de exceção. Não deve haver restrições nem disparadores definidos na tabela de exceção. A própria tabela de exceção não deve estar no estado de verificação pendente.
Usuário responsável: Crie a tabela de exceção da maneira indicada na seção relevante da documentação e execute o utilitário ou a instrução novamente.
sqlcode: -3604
sqlstate: 428A5
SQL3605N | A tabela "<nome-da-tabela>" nomeada na instrução SET INTEGRITY não está listada para verificação ou é uma tabela de exceção especificada mais de uma vez. |
Explicação: Quando a cláusula FOR EXCEPTION é especificada na instrução SET INTEGRITY, este erro poderia ser causado por um dos seguintes:
Usuário responsável: Corrija os nomes das tabelas e execute o comando novamente.
sqlcode: -3605
sqlstate: 428A6
SQL3606N | O número de tabelas sendo verificadas e o número de tabelas de exceção especificadas na instrução SET INTEGRITY não combinam. |
Explicação: Deve haver uma correspondência de um para um entre as tabelas originais e as tabelas de exceção fornecidas na lista.
Usuário responsável: Crie a tabela de exceção que está faltando, se ainda não tiver feito isto, e especifique-a na lista para executar o comando novamente.
sqlcode: -3606
sqlstate: 428A7
SQL3608N | Não é possível verificar nem redefinir o estado de Verificação Pendente na tabela dependente "<nome-da-tabela-dependente>" usando a instrução SET INTEGRITY enquanto a tabela pai "<nome-da-tabela-parâmetro>" estiver no estado de verificação pendente. |
Explicação: A tabela pai deve estar limpa (não estar no estado de verificação pendente) ou deve ser incluída na lista de chamada para
Usuário responsável: Certifique-se de que a tabela pai não se encontra no estado de verificação pendente, executando a instrução SET INTEGRITY para verificá-la.
É recomendável verificar primeiro a tabela pai. Também é possível verificar a tabela dependente e incluir a tabela pai na lista de chamada. Neste caso, o comando também falhará se houver violações de limitações na tabela pai e as mesmas não forem excluídas. Isto pode ocorrer se a opção FOR EXCEPTION não for usada.
No caso de um ciclo referencial, todas as tabelas devem ser incluídas na lista de chamada.
sqlcode: -3608
sqlstate: 428A8