Referência de Mensagens

SQL3600 - SQL3699

SQL3600NA 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

SQL3601WA 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.

  1. Para a definição de uma tabela pai em uma estrutura referencial, é preciso que as tabelas dependentes e descendentes sejam definidas com a verificação pendente. Isto é necessário para aplicar restrições de integridade referencial. A adição de uma chave estrangeira quando a tabela pai está em um estado de verificação pendente requer que todos os novos dependentes e descendentes da tabela pai sejam colocados automaticamente em verificação pendente.
  2. Definir uma tabela base que possui tabelas resumo de atualização imediata dependentes requer que estas tabelas de resumo dependentes sejam definidas como pendentes da verificação. Isto é necessário para obrigar o relacionamento de dados entre a tabela base e as tabelas resumo dependentes.

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

SQL3602WO 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

SQL3603NO 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

SQL3604NA 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

SQL3605NA 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

SQL3606NO 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

SQL3608NNã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


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]