Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema paradeclarar variables en mySQL

Estas en el tema de Problema paradeclarar variables en mySQL en el foro de Mysql en Foros del Web. Hola todos, Estoy teniendo un problema declarando variables en mySQL, nunca lo he hecho y al buscar por internet encontré una estructura, sin embargo la ...
  #1 (permalink)  
Antiguo 23/05/2015, 22:38
 
Fecha de Ingreso: mayo-2013
Mensajes: 5
Antigüedad: 11 años, 6 meses
Puntos: 0
Problema paradeclarar variables en mySQL

Hola todos,

Estoy teniendo un problema declarando variables en mySQL, nunca lo he hecho y al buscar por internet encontré una estructura, sin embargo la herramienta que estoy utilizando me devuelve un error.

Ésto es lo que dice:

Exeption thrown by: DECLARE @operacion varchar. Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @operacion varchar' at line 1

Alguno podría decirme qué pasa?

Muchas gracias!!:)
  #2 (permalink)  
Antiguo 23/05/2015, 22:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema paradeclarar variables en mySQL

DECLARE se usa solamente dentro de stored procedures o stored functions, y no fuera de ellos. Además, a diferencia de SQL Server, las variables declaradas no llevan "@".

Postea el codigo completo de lo que estás haciendo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/05/2015, 23:07
 
Fecha de Ingreso: mayo-2013
Mensajes: 5
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Problema paradeclarar variables en mySQL

Lo que quiero hacer es lo siguiente:
DECLARE operacion varchar;
SET operacion=$Operacion;
IF @operacion LIKE 'Alquiler' THEN
INSERT INTO \`inmuebles\`.\`operacion\` (\`IdOperacion\`, \`Fecha\`, \`IdTipoOperacion\`)
VALUES ($Referencia,$FechaVenta,1);
ELSE
INSERT INTO \`inmuebles\`.\`operacion\` (\`IdOperacion\`, \`Fecha\`, \`IdTipoOperacion\`)
VALUES ($Referencia,$FechaVenta,2);
END IF;

Todo esto lo estoy trabajando desde CloverETL
  #4 (permalink)  
Antiguo 23/05/2015, 23:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema paradeclarar variables en mySQL

Por la forma en que está escrito eso, tengo la sospecha de que intentas ejecutar un script de MYSQL desde PHP, y si es así, desde ya te digo que no va a funcionar.
Ese tipo de sintaxis sólo puede ser usado desde un STORED PROCEDURE, como ya te dije, y eso que posteas no lo es.
Además, hay partes del código que son inentendibles para MySQL, asi como valores y variables que jamás llegarán a MySQL y no las entenderá de todos modos.

Ten presente que PHP no entiende SQL, y MySQL no entiende ni interpreta elementos de PHP.
Una sentencia enviada desde pHP a MySQL no llega como tal. Llega como cadena de texto conteniendo una sentencia SQL pura.

Cita:
Todo esto lo estoy trabajando desde CloverETL
Irrelevante. EL problema está mas allá de la herramienta que uses.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 24/05/2015, 10:13
 
Fecha de Ingreso: mayo-2013
Mensajes: 5
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Problema paradeclarar variables en mySQL

Sin embargo todos los otros Queries que he utilizado de esta manera han funcionado sin problema alguno, entonces qué es lo que podría hacer? crear el procedimiento en mySQL?
  #6 (permalink)  
Antiguo 24/05/2015, 12:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema paradeclarar variables en mySQL

En primer lugar, para hablar de "los otros queries " deberías mostrarnos esos queries. Sin verlos es difícil saber con certeza por que funciona. Aunque tengo ciertas sospechas.
Por otro, ya te lo dije: el DECLARE sólo funciona en las rutinas almacenadas, tales como procedimientos o funciones.

Postea los otros ejemplos y veremos lo que tienes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: declarar, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:21.