--- On Sun, 9/13/09, Juan José (Pepe) <[email protected]> wrote:
From: Juan José (Pepe) <[email protected]> Subject: [pgsql-es-ayuda] Ayuda con consulta. To: "Mariano Reingart" <[email protected]> Cc: "PostgreSQL" <[email protected]> Date: Sunday, September 13, 2009, 7:59 PM #yiv1715724246 p {margin:0;}Hola a amigos tengo una cosulta que me da los atributos de los campos de una tabla pero quiero mejorrarla por que cuando existen dos tablas con el mismo nombre en schemas distintos se me queda en la primera aparicion. es decir queiro arrreglarla para pasar el schema y el nombre de la tabla. --Esta fucniona pero sin especificar el schema quiero que tambien se le especifique el schema en alguna parte. Abajo intente hacer algo pero no me funciono. SELECT a.attnum, a.attname AS field, t.typname AS type, format_type(a.atttypid, a.atttypmod) AS complete_type, a.attnotnull AS isnotnull, (SELECT 't' FROM pg_index WHERE c.oid = pg_index.indrelid AND pg_index.indkey[0] = a.attnum AND pg_index.indisprimary = 't' ) AS pri, (SELECT pg_attrdef.adsrc FROM pg_attrdef WHERE c.oid = pg_attrdef.adrelid AND pg_attrdef.adnum=a.attnum ) AS default FROM pg_attribute a, pg_class c, pg_type t WHERE c.relname = 'Dat_email' AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid ORDER BY a.attnum -- INNER JOIN information_schema.column_udt_usage on(information_schema.column_udt_usage.table_name = 'Dat_email') -- WHERE information_schema.column_udt_usage.table_schema = 'public' Puedes revisar este enlace http://www.postgresql.org/docs/8.3/interactive/ecpg-dynamic.html o prueba realizar una funcion en perl
