¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como executar uma consulta SQL de forma eficaz no Gerador de Consultas: Dicas e truques para evitar erros comuns.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...

Olá,

Tente executar a seguinte consulta de 2 maneiras diferentes no Gerador de Consultas:

UM (Esta forma está correta. No entanto, não precisamos da variável @var. Resultado 'hhh')

-


declare @var varchar(1)

set @var = 'w'

SE 'w' ='w'

BEGIN

select 'hhh'

END

DOIS (Igual ao UM mas sem @var): Erro: "Sintaxe incorreta perto da palavra-chave FOR" !!!???

-


SE 'w' ='w'

BEGIN

select 'hhh'

END

Tem alguma ideia sobre esse comportamento estranho? Muito obrigado.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Sim, parece ser assim. Muito obrigado pela sua ajuda!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

É curioso. Acredito que o que você encontrou é um pequeno erro no processamento de SQL do Business One.

Quando você executa SQL no B1, o SQL não é passado diretamente para o banco de dados, mas o B1 realiza algum pré-processamento para lidar com coisas como parâmetros que não são uma característica do SQL, mas existem apenas no B1. Se você executar sua consulta diretamente no SQL, então funciona bem.

Parece que o B1 não gosta de uma consulta que começa com IF. Provavelmente começar com qualquer outra declaração de SQL é suficiente para fazer o erro desaparecer. Em seu exemplo, nem mesmo precisa da declaração SET, apenas do DECLARE.

Parece que você já resolveu seu problema: basta colocar o DECLARE adicional no início do seu código.

Saudações,

Douglas

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Bom, quero testar o valor de uma variável de formulário. Então, digamos:

if $[Tabela.campo] = valor

em vez de " W=W.

O estranho é que ao declarar @var primeiro $[] está pegando seu valor corretamente, mas se @var não está declarado, então $[] não está pegando seu valor.

Isso me pareceu muito curioso.

Você tem alguma explicação para isso?

Obrigado

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Posso perguntar o que você está tentando fazer aqui? Por que você está verificando 'w' = 'w', sempre será Verdadeiro.

Realmente está tentando verificar o valor de um campo do formulário?

Por favor, me avise.

Saudações

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?