From: | "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar> |
---|---|
To: | "'Julio Cesar Rodriguez Dominguez'" <jurasec(at)gmail(dot)com>, 'Iván Caballero Cano' <ivanhalen77postgresql(at)gmail(dot)com> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Existe alguna función para verificar si existe una tabla en la BD PostGreSQL? |
Date: | 2009-08-24 18:52:43 |
Message-ID: | 245B6A10B5C7482885DB5BB66A23A0B0@iptel.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> -----Mensaje original-----
> De: Julio Cesar Rodriguez Dominguez
> Enviado el: Lunes, 24 de Agosto de 2009 15:37
> Para: Iván Caballero Cano
> CC: pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Existe alguna
> función para verificar si existe una tabla en la BD PostGreSQL?
>
>
>
> El 24 de agosto de 2009 13:31, Iván Caballero Cano
> <ivanhalen77postgresql(at)gmail(dot)com> escribió:
>
>
> Buenos Días:
> ¿Existe alguna función para verificar si existe una
> tabla en la BD PostGreSQL?
>
> Gracias.
> --
> TIP 5: ¿Has leído nuestro extenso FAQ?
> http://www.postgresql.org/docs/faqs.FAQ.html
>
>
>
>
> puedes crearla tu, manejando esta posible excepción,
> comparando el código de error que genera postgresql 42P01
> [UNDEFINED TABLE]
> http://www.postgresql.org/docs/8.4/static/errcodes-appendix.html
>
Me parece es mejor resolverlo consultándo pg_tables.
Va un ejemplo rudimentario de como sería la función que necesitas:
create or replace function existetabla(ptabla text, pschema text)
returns boolean as
$BODY$
declare
res boolean;
begin
select true into res
from pg_tables where schemaname = coalesce(pschema, 'public') and
tablename = ptabla;
return coalesce(res, false);
end;
$BODY$
LANGUAGE 'plpgsql' immutable;
uso:
pg> select existetabla('mitabla', 'miesquema');
t
Saludos.
From | Date | Subject | |
---|---|---|---|
Next Message | Javier Chávez B. | 2009-08-24 18:53:03 | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Existe alguna función para verificar si existe una tabla en la BD PostGreSQL? |
Previous Message | Iván Caballero Cano | 2009-08-24 18:52:10 | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Existe alguna función para verificar si existe una tabla en la BD PostGreSQL? |