> -----Mensaje original----- > De: Arcel Labrada Batista > ... > begin > > > create table public.tb_estudiante_"||NEW.id||() INHERITS > (tb_estudiante); > > return new; > end; > > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; > > y el problema esta en la concatenación, me da un error que dice: > > ERROR: error de sintaxis en o cerca de «||» at character 30 > QUERY: create table "tb_estudiante_"|| $1 ||() INHERITS > (tb_estudiante) > CONTEXT: SQL statement in PL/PgSQL function > "f_crear_tablas_replicas" near line 7 >
Para ejecutar SQL dinámico en plpgsql debes usar EXECUTE. Ejemplo: EXECUTE 'create table public.tb_estudiante_' || NEW.id || '() INHERITS (tb_estudiante)'; Slds, Fernando. -- TIP 4: No hagas 'kill -9' a postmaster
