Este documento tem por objetivo orientar na correção do erro: SQL STATE 01000, SQL error code 3621/ a subconsulta retornou mais de 1 valor, isso não é permitido quando a subconsulta segue um =,!=,<,<,=,>,>= ou quando ela é usada como uma expressão apresentado ao acessar o Analisado Fiscal.

Informações Adicionais: Os procedimentos desse documento devem ser realizados diretamente do servidor. 

Resolução

Microsoft SQL Server Management Studio Express

Esse erro ocorre devido à duplicidade de informações na base de dados SQL.

1- No Menu inicial do computador acesse Iniciar > Todos os Programas > Microsoft SQL Server> Microsoft SQL Server Management Studio Express 

2- Acesse o SQL como Windows Authentication ou Autenticação do Windows

3- Acesse New Query ou Nova Consulta e selecione a sua ProempXX

4- No campo ao lado execute um a um os comandos abaixo:

A) Consultar todas as empresas cujo o CNPJ aparece mais de uma vez na tabela cadastro de empresas:

SELECT CNPJ, COUNT(CNPJ) FROM CAD_EMPRESA GROUP BY CNPJ having count(CNPJ)>1;

B) Utilizando o CNPJ retornado na consulta anterior, consultar os dados das empresas:

Pesquisando somente uma empresa:

SELECT * FROM CAD_EMPRESA WHERE CNPJ = XXXXXXXXXXXXXX;

Pesquisando mais de uma empresa:

SELECT * FROM CAD_EMPRESA WHERE CNPJ IN(XXXXXXXXXXXXXX, XXXXXXXXXXXXXX);

C) Deve-se consultar a rotina cadastro de empresas no GOLD para confirmar os dados da(s) empresa(s)

D) com os dados em mãos deve-se excluir as informações incorretas:

Primeiro realize uma pesquisa com os dados errados para ter certeza que somente estes serão deletados:

SELECT * FROM CAD_EMPRESA WHERE CNPJ IN(XXXXXXXXXXXXXX, XXXXXXXXXXXXXX) AND RAZAO_SOCIAL = 'TESTE';

Altere (na linha acima) select * para delete e exclua as informações incorretas da base de dados do GID:

DELETE FROM CAD_EMPRESA WHERE CNPJ IN(XXXXXXXXXXXXXX, XXXXXXXXXXXXXX) AND RAZAO_SOCIAL = 'TESTE';

  • Sem rótulos