Ver Mensaje Individual
  #1  
Antiguo 15-03-2016
KOVNEO KOVNEO is offline
Registrado
NULL
 
Registrado: mar 2016
Posts: 5
Reputación: 0
KOVNEO Va por buen camino
Error al crear procedimiento almacenado

hola una pregunta o mas bien una consulta utilizo firebird.
tengo este procedimiento almacenado el cual permite actualizar fechas, excepto las fechas del año que le mando
me arroja un error, no puedo crearlo si me pudieran orientar de favor y si no es mucha la molestia.

Código SQL [-]
SET TERM ^ ;
CREATE PROCEDURE CAMBIO_AN_CC_VE (
 ANO_NEW     INTEGER)
RETURNS (
 DOCTO_CC_ID INTEGER,
 DOCTO_VE_ID INTEGER,
 FECHA_VE    DATE,
 FECHA_CC    DATE)
AS 
DECLARE VARIABLE lcContinuar CHAR(1);
DECLARE MiCursor CURSOR FOR( SELECT E.DOCTO_DEST_ID,C.FECHA,E.DOCTO_FTE_ID,V.FECHA FROM DOCTOS_ENTRE_SIS E JOIN
 DOCTOS_CC C ON C.DOCTO_CC_ID = E.DOCTO_DEST_ID JOIN
 DOCTOS_VE V ON E.DOCTO_DEST_ID = C.DOCTO_CC_ID AND E.DOCTO_FTE_ID = V.DOCTO_VE_ID
 WHERE EXTRACT(YEAR FROM C.FECHA) NOT LIKE '%:ANO_NEW' AND EXTRACT(YEAR FROM V.FECHA) NOT LIKE '%:ANO_NEW');
BEGIN
 OPEN MiCursor; 
   lcContinuar = 'S';
   WHILE (lcContinuar = 'S') DO BEGIN
      FETCH                        
         MiCursor
      INTO
         : DOCTO_CC_ID,
         : FECHA_CC,
         : DOCTO_VE_ID,
         : FECHA_VE;
      IF (ROW_COUNT = 1) THEN BEGIN   
           UPDATE IMPORTES_DOCTOS_CC SET FECHA =DATEADD(datediff (year from FECHA to cast('01/01/2015' as date)) year to FECHA)
           WHERE DOCTO_CC_ID = : DOCTO_CC_ID;
           UPDATE DOCTOS_VE SET FECHA =DATEADD(datediff (year from FECHA to cast('01/01/2015' as date)) year to FECHA)
           WHERE DOCTO_VE_ID= : DOCTO_VE_ID;
         SUSPEND;
   
      END ELSE
         lcContinuar = 'N';            
   END
   CLOSE MiCursor;
END^^
SET TERM ; ^
GRANT EXECUTE
  ON PROCEDURE CAMBIO_AN_CC_VE
TO USUARIO_MICROSIP WITH GRANT OPTION;^
SET TERM ; ^

me manda este error

Código:
Engine Error (code = 335544351):
unsuccessful metadata update.
STORE RDB$PROCEDURES failed.
SQL Error (code = -607):
This operation is not defined for system tables.
en verdad no se como resolver mi problema
Responder Con Cita