Sim, parece ser assim. Muito obrigado pela sua ajuda!
Avalados por :
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.
Sim, parece ser assim. Muito obrigado pela sua ajuda!
É 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
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
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
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute