Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/02/2016, 16:31
Murallitz
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Job para modificar estado

Ya he creado el SP pero me sale un error:

Compilation errors for PROCEDURE INV.USP_MSC_MODIFICA_ESTADO

Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:

( - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
continue avg count current exists max min prior sql stddev
sum variance execute forall merge time timestamp interval
date <a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternat
Line: 15
Text: UPDATE inv.tb_msc_reserva t

Error: PLS-00103: Encountered the symbol "@" when expecting one of the following:

( ) - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
table continue avg count current exists max min prior sql
stddev sum variance execute multiset the both leading
trailing forall merge year month day hour minute second
timezone_hour timezone_minute timezone_region timezone_abbr
time timestamp interval date
<a string literal with character set specification>
Line: 15
Text: UPDATE inv.tb_msc_reserva t

Error: PLS-00103: Encountered the symbol "=" when expecting one of the following:

. , @ ; for <an identifier>
<a double-quoted delimited-identifier> group having intersect
minus order partition start subpartition union where connect
sample
Line: 15
Text: UPDATE inv.tb_msc_reserva t




ESTE ES EL SP


CREATE OR REPLACE PROCEDURE "USP_MSC_MODIFICA_ESTADO"
AS
BEGIN
DECLARE CURSOR RESERVAR IS
SELECT ID_RESERVA,FCH_GRABACION FROM tb_msc_reserva
WHERE to_date(to_char(FCH_GRABACION,'dd/mm/yyyy')) = to_date(to_char(SYSDATE,'dd/mm/yyyy')) - 1;
id_reserva VARCHAR2(50);
fch_grabacion DATE;
BEGIN
OPEN RESERVAR;

FETCH RESERVAR INTO id_reserva, fch_grabacion;

IF SELECT TRUNC((SYSDATE) -TO_DATE(@FCH_GRABACION, 'DD/MM/YYYY HH24:MI:SS')) From DUAL=1 THEN

UPDATE inv.tb_msc_reserva t
SET t.flg_estado='C'
WHERE ID_Reserva=@ID_RESERVA;
COMMIT;
END IF ;
WHILE (@@FETCH_STATUS = 0)

CLOSE RESERVAR;

END;