Re: [Pgsql-ayuda] Otra pregunta sobre "Como obtengo la lista de las tablas y columnas existentes en la bd"

From: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
To: oresistemas(at)yahoo(dot)com
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Otra pregunta sobre "Como obtengo la lista de las tablas y columnas existentes en la bd"
Date: 2003-11-07 00:07:01
Message-ID: BAY1-F149ubJq3ScM560000fbe2@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Aqui tioenes esta function es bastante util, lastima q no funcione.
Bueno lo que hace es que le pasas una tabla , el campo y el dato que quieres
en ese campo y ella lo corta a la longitud que tenga ese campo.
Si tienes alguna duda puedes preguntarme.
Con esta puedes hacer un diccionario de datos.

CREATE FUNCTION cortar_char(name,name,varchar) RETURNS varchar AS '

DECLARE
tabla ALIAS FOR $1;
campo ALIAS FOR $2;
dato ALIAS FOR $3;
len int;
data varchar;
reg record;
BEGIN
select into reg b.atttypmod
from pg_class a, pg_attribute b, pg_type c
where a.relname=tabla
and b.attrelid=a.relfilenode
and b.attname=campo
and b.attnum >0
and b.atttypid = c.oid;
len:=reg.atttypmod-4;
data:=substring(dato from 1 for len);
return upper(data);
END;'
LANGUAGE 'plpgsql';

*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-809-747-2787
* " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo
comun"
*-------------------------------------------------------*

>From: "Csar A. Or Vsquez" <oresistemas(at)yahoo(dot)com>
>To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx,Alvaro Herrera
><alvherre(at)dcc(dot)uchile(dot)cl>
>Subject: Re: [Pgsql-ayuda] Otra pregunta sobre "Como obtengo la lista de
>las tablas y columnas existentes en la bd"
>Date: Thu, 6 Nov 2003 13:36:57 -0600 (CST)
>
> > Puedes usar pg_attribute; attrelid es el OID de la
> > tabla, attnum es el
> > orden de las columnas (usa slo las que tienen
> > attnum > 0); para
> > conseguir el tipo tienes que usar atttypid (OID del
> > tipo, en pg_type).
> > Mira la documentacin de 'Catlogos del sistema', en
> > el 'Developer's
> > Handbook'.
>
>Gracias por tu ayuda, esta genial... lamentablemente
>no encuentro mucha de la informacion que me mencionas
>en el developers handbook... Seguire revisando.
>
>Si no es molestia alguien puede decirme como conseguir
>si tengo una columna varchar, la longitud del varchar?
>
>
>Por ejemplo, si tengo una columna varchar(10), en tipo
>de dato deberia obtener "varchar" (esto ya lo logre
>gracias a la ayuda) y como longitud del varchar
>"10"... Como obtengo esa longitud?
>
>
>
>
>=====
>CESAR-----------------------------------
>mailto://a19941608(at)pucp(dot)edu(dot)pe
>mailto://oresistemas(at)yahoo(dot)com
>http://www.linuxperu.atope.net
>http://www.oresistemas.atope.net
>-------------------------------------------
>
>_________________________________________________________
>Do You Yahoo!?
>Informacin de Estados Unidos y Amrica Latina, en Yahoo! Noticias.
>Vistanos en http://noticias.espanol.yahoo.com
>_______________________________________________
>Pgsql-ayuda mailing list
>Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
>http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda

_________________________________________________________________
Great deals on high-speed Internet access as low as $26.95.
https://broadband.msn.com (Prices may vary by service area.)

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Roberto Andrade Fonseca 2003-11-07 00:47:25 [Pgsql-ayuda] Cursos de Software Libre
Previous Message Alvaro Herrera 2003-11-06 21:53:01 Re: [Pgsql-ayuda] DELETE