TransWikia.com

MySQL - Stored Procedure Error

Stack Overflow en español Asked by Elba Nanero on November 17, 2021

estoy escribiendo una Stored Procedure, y cuando ejecuto primero un SELECT llamando a una función, y luego intento crear un CURSOR, me aparece el error que se muestra a continuación

BEGIN
   
   DECLARE Sales DECIMAL(10,2);

   SELECT TotalEarnings(_FromDate, _ToDate) INTO Sales; 
 
    DECLARE CV CURSOR FOR 
       SELECT Sale_Id, SUM(Sale_Quantity * (Sale_Price - Sale_Cost)) AS Earn 
           FROM Sales_Details 
       WHERE Sales_Date BETWEEN _FromDate AND _ToDate;  

Porque ocurre esto ? no se pueden juntar una función y un Cursor ?

Error de SQL (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 CV CURSOR FOR SELECT Sale_Id, SUM(Sale_Quantity * (Sale_Price - Sale_Cost)) AS Earn 
           FROM at line 17uery

Que puede estar mal ?

Gracias !

One Answer

De acuerdo con la documentación de los cursores, no es posible hacer lo que muestras en el ejemplo.

La declaracion del Cursor debe estar antes de la declaración del Handler y después de las declaraciones de variables y condiciones.

Cursor declarations must appear before handler declarations and after variable and condition declarations.

Answered by Pablo Gutiérrez on November 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP