Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2015, 03:37
Avatar de Jvgaas7
Jvgaas7
 
Fecha de Ingreso: julio-2015
Mensajes: 40
Antigüedad: 9 años, 5 meses
Puntos: 1
Pregunta Crear cursores en mySQL

Buenos días a todos, estoy intentado crear un cursor en Mysql a partir de un cursor en SQL server. Estoy teniendo problemas con la sintaxis en mysql y no dejan de saltarme errores. ¿Podéis echarme un cable?

Sentencia en SQL SERVER
Código SQL:
Ver original
  1. DECLARE @REF_CORTA nvarchar(255), @FECHA_SELL DATE
  2.     DECLARE cursor_1
  3.     CURSOR FOR
  4.     SELECT ref_corta, copia_sellada FROM [dbo].[actualizacion_fecha]
  5.     OPEN cursor_1
  6.     FETCH NEXT FROM cursor_1 INTO @REF_CORTA, @FECHA_SELL
  7.     WHILE (@@FETCH_STATUS = 0)
  8.     BEGIN
  9.         UPDATE [dbo].[basica] SET
  10.         copia_sellada = @FECHA_SELL      
  11.         WHERE ref_corta = @REF_CORTA
  12.         FETCH NEXT FROM cursor_1 INTO @REF_CORTA, @FECHA_SELL
  13.     END
  14.     CLOSE cursor_1
  15.     DEALLOCATE cursor_1


Sentencia mysql
Código SQL:
Ver original
  1. DECLARE fecha_sell DATE;
  2. DECLARE ref_corta VARCHAR(250);
  3. DECLARE cursor_1
  4. cursor FOR
  5.     SELECT ref_cortas, fecha_copia
  6.     FROM basica;
  7. OPEN cursor_1
  8. fetch NEXT
  9.     FROM cursor_1 INTO ref_corta, fecha_sell;
  10.     while @@fetch_status=0
  11.     BEGIN
  12.         UPDATE basica SET fecha_copia=fecha_sell
  13.         WHERE ref_cortas = ref_corta
  14.         fetch NEXT
  15.             FROM cursor_1 INTO ref_corta, fecha_sell;
  16.     END
  17. close cursor_1;
  18. deallocate cursor_1;

Error principal que me da(Por dar el último)
"#1064 - 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 fecha_sell date' at line 1 "

¡Muchas gracias a todos!

Última edición por gnzsoloyo; 24/09/2015 a las 06:08