From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Alejandro Carrillo <fasterzip(at)yahoo(dot)es> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Rv: recorrer old |
Date: | 2011-11-16 20:30:55 |
Message-ID: | 1321475248-sup-6372@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Excerpts from Alejandro Carrillo's message of mié nov 16 17:15:11 -0300 2011:
> Es TG_TABLE_SCHEMA, sin embargo he tenido lios al tratar de incluir el schema en el insert, por favor revisen que pudo haber pasado:
>
> execute 'insert into ' || quote_ident(p_schema||'.'||p_tabla)::regclass
> || ' SELECT * FROM populate_record(null::'|| quote_ident(p_schema||'.'||p_tabla)::regclass ||', $1)' using regrec;
>
> El error:
>
> NOTICE: no existe la relación «public.clientesborradocopia»
>
> Y la bendita tabla si existe.
No, estás tratando de usar el nombre-con-esquema como si fuera solamente
el nombre. Debes aplicar quote_ident a cada parte separadamente. Creo
que esto debería funcionar:
execute 'insert into ' || (quote_ident(p_schema) ||'.'||quote_ident(p_tabla))::regclass
(mismo tratamiento a la siguiente línea), aunque honestamente en este
caso y dado que ya estás usando un cast a regclass yo usaría simplemente
el OID,
execute 'insert into ' || TG_RELID::regclass
--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro Carrillo | 2011-11-16 21:11:37 | Re: Rv: recorrer old |
Previous Message | Carlos Agustín López Avila | 2011-11-16 20:20:26 | Re: Fwd: OT Desesperado |