From: | Arcel Labrada Batista <alabradab(at)uci(dot)cu> |
---|---|
To: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org, Eduardo Morras <emorras(at)s21sec(dot)com> |
Subject: | ayuda con trigger que llama a un procedimiento |
Date: | 2010-01-27 16:25:30 |
Message-ID: | 99990981.114971264609530514.JavaMail.root@ucimail1.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
buenos dias,
tengo un pequeño problema pero no se como resolverlo.
la situación es que para una sistema de replicas, necesito crear particiones de las tablas que voy a replicar, pero necesito que esas particiones se creen dinámicas
por ejemplo,
necesito que la partición tenga el nombre concatenado con el identificador de la tupla que inserto, para ello creo la función que a continuación les muestro,
CREATE OR REPLACE FUNCTION "public"."f_crear_tablas_replicas" () RETURNS trigger AS
$body$
declare
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
me pueden ayudar en esto???
From | Date | Subject | |
---|---|---|---|
Next Message | Fernando Hevia | 2010-01-27 16:42:33 | RE: ayuda con trigger que llama a un procedimiento |
Previous Message | Ing. Marcos L. Ortiz Valmaseda | 2010-01-27 11:41:51 | Re: ayuda con trigger que llama a un procedimiento |