Sí, parece ser así. ¡Muchas gracias por tu ayuda!
Avalados por :
Hola,
Solo intenta ejecutar la siguiente consulta de 2 maneras diferentes en el Generador de Consultas:
UNO (Esta forma está bien. Sin embargo, no necesitamos la variable @var. Resultado 'hhh')
-
declare @var varchar(1)
set @var = 'w'
SI 'w' ='w'
BEGIN
select 'hhh'
END
DOS (Igual que UNO pero sin @var): ¡Error: "Sintaxis incorrecta cerca de la palabra clave FOR" !!!???
-
SI 'w' ='w'
BEGIN
select 'hhh'
END
¿Tienes alguna idea de este comportamiento extraño? Muchas gracias.
Sí, parece ser así. ¡Muchas gracias por tu ayuda!
Es curioso. Creo que lo que has encontrado es un pequeño error en el procesamiento de SQL de Business One.
Cuando ejecutas SQL en B1, el SQL no se pasa directamente a la base de datos, sino que B1 realiza algún preprocesamiento para manejar cosas como parámetros que no son una característica de SQL, sino que existen solo en B1. Si ejecutas tu consulta directamente en SQL, entonces funciona bien.
Parece que a B1 no le gusta una consulta que comienza con IF. Probablemente comenzar con cualquier otra declaración de SQL es suficiente para hacer que el error desaparezca. En tu ejemplo, ni siquiera necesitas la declaración SET, solo el DECLARE.
Parece que ya has resuelto tu problema: simplemente coloca el DECLARE adicional al principio de tu código.
Saludos,
Douglas
Bueno, quiero probar el valor de una variable de formulario. Entonces, digamos:
if $[Tabla.campo] = valor
en lugar de " W=W.
Lo extraño es que al declarar @var primero $[] está tomando su valor correctamente, pero si @var no está declarado, entonces $[] no está tomando su valor.
Esta cosa me ha parecido muy curiosa.
¿Tienes alguna explicación para esto?
Gracias
¿Puedo preguntar qué estás intentando hacer aquí? ¿Por qué estás verificando 'w' = 'w', siempre va a ser Verdadero.
¿Realmente estás intentando verificar el valor de un campo del formulario?
Por favor, házmelo saber.
Suda
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute