From: | Iván Caballero Cano <ivanhalen77postgresql(at)gmail(dot)com> |
---|---|
To: | Fernando Hevia <fhevia(at)ip-tel(dot)com(dot)ar> |
Cc: | Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>, 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-25 13:42:45 |
Message-ID: | 26252470908250642t21c42de1j32688134518ff8bb@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Una buena alternativa
El 24 de agosto de 2009 13:52, Fernando Hevia<fhevia(at)ip-tel(dot)com(dot)ar> escribió:
>
>
>> -----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 | Iván Caballero Cano | 2009-08-25 13:43:13 | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Existe alguna función para verificar si existe una tabla en la BD PostGreSQL? |
Previous Message | Edwin Quijada | 2009-08-24 21:08:56 | RE: BD en latin1 |