CREATE OR REPLACE FUNCTION cons_orden_limit(nomtabla varchar, nomcampo varchar, numlimit int) RETURNS void AS $$
declare
 consulta TEXT;
 registro RECORD;
 contador int := 1;
BEGIN
consulta := 'SELECT * FROM ' || nomtabla || ' ORDER BY ' ||
nomcampo || ' LIMIT ' || TO_CHAR(numlimit,'999') ;

FOR registro in EXECUTE consulta LOOP
   RAISE NOTICE 'REGISTRO: % - % ',contador,registro;
   contador := contador + 1;
END LOOP;

EXCEPTION
WHEN undefined_table THEN
   RAISE NOTICE 'Tabla: % inexistente',nomtabla;
WHEN undefined_column THEN
   RAISE NOTICE 'Columna: % inexistente',nomcampo;
END;
$$ LANGUAGE plpgsql;
