Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Existe alguna función para verificar si existe una tabla en la BD PostGreSQL?

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.
>
>

In response to

Browse pgsql-es-ayuda by date

  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