Estimados tengo la siguiente Funcion:

CREATE OR REPLACE FUNCTION public.respalda_msj (
)
RETURNS void AS
$body$
declare dia integer;
declare tabla varchar;
funcion varchar := '''';

BEGIN

select trim(to_char(current_date,'d')) into dia;

 CASE dia
     WHEN 1 THEN
     
          --RENOMBRAR TABLA
          SELECT into tabla  'mensaje_ms_1_' || current_date ;
          
          FUNCION := ''ALTER TABLE public.mensaje_ms_1 RENAME TO '' || tabla
;
          EXECUTE FUNCION;


          --BORRAR TABLA
            
          DELETE FROM public.mensaje_ms_1 ;

          --VACUM Y REINDEX DE LA TABLA

          VACUUM (ANALYZE) public.mensaje_ms_1;
          REINDEX TABLE public.mensaje_ms_1;


 END CASE;
 RETURN;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;


...al tratar de compilarla me da el siguiente error:

ERROR:  syntax error at or near "ALTER"
LINE 16:           FUNCION := ''ALTER TABLE public.mensaje_ms_1 RENAM...


No sé que pueda estar pasando, alguien sabrá.


Saludos


-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a