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

sentencia DECLARE

Estas en el tema de sentencia DECLARE en el foro de Mysql en Foros del Web. Hola, tengo que realizar una migración desde sqlserver(plataforma windows, todo dicho) hacia mysql(linux, ok) , en donde debo realizar consultas en un lenguaje (cobol) con ...
  #1 (permalink)  
Antiguo 23/03/2010, 19:05
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
sentencia DECLARE

Hola, tengo que realizar una migración desde sqlserver(plataforma windows, todo dicho) hacia mysql(linux, ok) , en donde debo realizar consultas en un lenguaje (cobol) con sql embebido, y se me presenta un gran problema:
en el mismo editor de mysql ingreso:
DECLARE cur1 CURSOR FOR SELECT (campo I tabla), (campo II tabla) FROM tabla;
para luego obtener el resultado y mostrarlo en una box:
fetch cur1 into :NOMBRE,
:PROPIETARIO
el inconveniente es que la instracción no funciona ya desde el "DECLARE", he ido y venido por apuntes en internet (incluso en la pagina oficial de mysql.com) y aparentemente la instrucción está correcta, pero siempre estoy teniendo el error:
"ERROR 1064 (42000): You have an error in your SQL syntax; check the manual......."
A esta altura ya no se en donde buscar, en Oracle, en SqlServer, esta instrucción funciona de maravilla, por favor, si alguien sería tan amable de responderme.
desde ya muchas gracias.
  #2 (permalink)  
Antiguo 23/03/2010, 20:36
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: sentencia DECLARE

Postea el código del procedure para poder guiarte.
__________________
¿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 07/04/2010, 20:05
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: sentencia DECLARE

Mil disculpas por la tardanza, estaba con algunos problemillas personales,
te envio mis estructuras, (siempre es de prueba)


mysql> DESCRIBE tablita;
+----------+----------------------+-----+-----+--------+---------------------+
| Field | Type | Null | Key| Default| Extra |
+----------+----------------------+-----+-----+--------+---------------------+
| nombre | int(10) unsigned | NO | PRI | NULL | auto_increment |
| apellido | varchar(45) | NO | | NULL | |
+----------+---------------------+------+-----+--------+---------------------+
2 rows in set (0.00 sec)


mysql> SELECT * FROM tablita;
+----------+-----------+
| nombre | apellido |
+----------+----------+
| 1 | 2 |
| 2 | bbb |
| 3 | ccc |
| 4 | ddd |
+----------+----------+
4 rows in set (0.00 sec)


y deseo realizar lo siguiente:


mysql> DECLARE cur1 CURSOR FOR
SELECT nombre, apellido FROM tablita

FETCH cur1 INTO :nombre
:apellido;
Para extraer los datos de la tabla, y luego con un fetch insertarlos en un box.
  #4 (permalink)  
Antiguo 07/04/2010, 20:54
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: sentencia DECLARE

DECLARE no es una sentencia que se pueda usar directamente. Solamente se puede usar dentro de un stored procedure.

Postea el código del stored procedure completo.
__________________
¿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: declare, sentencia
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 04:09.