Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Problema com sentença sql


msoares

Posts Recomendados


  • Tópicos Que Criei:  3
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  3
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  45
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  51

Pessoal,

A sentença SQL abaixo passou a dar erro após a atualização da versão do RM para a versão 10.

A mensagem de erro que dá é a seguinte:

=========================================

A sentença SQL não é válida!

The variable name '@DATA_INICIO_D' has already been declared.

Variable names must be unique within a query batch or stored procedure.

Must declare the scalar variable "@CODCOLIGADA".

=====================================================

Sentença SQL:

SELECT f.chapa, f.dataadmissao, f.datademissao, '999999999999999999' numcartaomediservice,

CASE

WHEN dataadmissao BETWEEN :data_inicio_d AND :data_fim_d THEN

'I'

ELSE

CASE

WHEN datademissao BETWEEN :data_inicio_d AND :data_fim_d THEN

'C'

ELSE

'A'

END

END tipo_operacao,

CASE

WHEN dataadmissao BETWEEN :data_inicio_d AND :data_fim_d THEN

dataadmissao

ELSE

NULL

END data_ini_vigencia,

CASE

WHEN datademissao BETWEEN :data_inicio_d AND :data_fim_d THEN

datademissao

ELSE

NULL

END data_cancelamento

FROM pfunc f, pfcompl c

WHERE f.chapa = c.chapa

AND f.codcoligada = c.codcoligada

AND f.codcoligada = :codcoligada

AND f.chapa = :chapa

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  22
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  110
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  50

Bom , a msg eh simples : o data_inicio_d foi declarado mais de uma vez, e o cod_coligada nao foi declarado. Vc pode abrir essa fonte até chegar no DECLARE antes do select e tentar alterar ???? Se estavam funcionando "automatico" antes, pode ter acontecido alguma coisa durante o upgrade, o log não disse nada???

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  4
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  20
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Isto é em decorrência da conversão da base para a versão 10.20, a estrutura do sql foi alterada para atender às especificações do .net (antes era tudo delphi) assim a sentença não poderá ter a mesma variável declarada mais de uma vez. Sugestão é criar espelhos para cada vez que precisar usar o mesmo campo como parâmetro.

Ex.:

SELECT f.chapa, f.dataadmissao, f.datademissao, '999999999999999999' numcartaomediservice,

CASE

WHEN dataadmissao BETWEEN :data_inicio_d AND :data_fim_d THEN

'I'

ELSE

CASE

WHEN datademissao BETWEEN :ESPELHO#1 AND :ESPELHO#2 THEN

'C'

ELSE

'A'

END

END tipo_operacao,

CASE

WHEN datademissao BETWEEN :ESPELHO#3 AND :ESPELHO#4 THEN

dataadmissao

ELSE

NULL

END data_ini_vigencia,

CASE

WHEN datademissao BETWEEN :ESPELHO#5 AND :ESPELHO#6 THEN

datademissao

ELSE

NULL

END data_cancelamento

FROM pfunc f, pfcompl c

WHERE f.chapa = c.chapa

AND f.codcoligada = c.codcoligada

AND f.codcoligada = :codcoligada

AND f.chapa = :chapa

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.