oracle function error pls-00103 Encountered the symbol "SELECT" when expecting one of the following : I receive the following error when I compile this function:
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: 14    Text: IF SELECT TRUNC((SYSDATE) -TO_DATE(@FCH_GRABACION, 'DD/MM/YYYY HH24:MI:SS')) From DUAL=1 THEN
    

        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;


Please help me
Thanks
