Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > PostgreSQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2014
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Buen día amigo... Como por entender:

¿Lo que quieres hacer es leer una tabla de la base de datos que se carga en un dataset y a partir de ella generas el script de creación? ==> Si es asi, te recomiedo que vayas directamente al catalogo de la bd y consultes esa información... no hagas el paso intermedio de cargarlo en el dataset, pues los tipos de datos que delphi define en sus Tfields son genericos y se adaptan o se aproximan a lo que les envia cada motor.

Intenta:

Código SQL [-]
SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod)
FROM pg_catalog.pg_attribute a
WHERE a.attrelid = (SELECT pg_class.oid
                    FROM pg_class INNER JOIN pg_namespace
                       ON (pg_class.relnamespace = pg_namespace.oid
                           AND lower(pg_namespace.nspname) = 'public')
                   WHERE pg_class.relname='NombreTabla')
  AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum;

o mas resumido:

Código SQL [-]
select * from information_schema.columns where table_name ='NombreTabla'

Última edición por gatosoft fecha: 04-10-2014 a las 06:16:45. Razón: NombreTabla
Responder Con Cita
  #2  
Antiguo 05-10-2014
rmendoza83 rmendoza83 is offline
Miembro
 
Registrado: ago 2006
Posts: 50
Poder: 18
rmendoza83 Va por buen camino
Hola Gato! Gracias por tu respuesta! tu consejo me sirve de mucho para resolver el problema! Ahora bien esta solución solo me sirve para postgreSQL! Y pues la tarea que tengo es básicamente crear una base de datos local y que pueda ser portable! Escogí firebird para la base de datos portable y la librería portable (fbembed) y la base de datos original es postgresql!

Como te decía probablemente para esta asignación pueda resolverlo con la solucion que me das, pero suponiendo que quiera hacer una aplicación para importar/exportar o migrar o clonar base de datos de unas a otras creo que seria algo mas dinámico resolviéndolo desde delphi y las componentes de zeos.

Si sabes de una manera obtener la precisión de los campos numéricos tendría todo solucionado.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
obtener propiedades de component padre Caroso Varios 1 17-09-2013 08:18:39
¿como obtener folios consecutivos mysql firebird postgresql? JXJ Varios 4 23-07-2013 20:55:50
Problema con reporte y campo money de postgresql DSK25 Impresión 2 15-10-2012 22:12:35
Obtener propiedades de EXE.. n3mohack API de Windows 18 27-09-2012 06:42:50
Obtener propiedades de una unidad de Cd seoane Trucos 0 10-01-2007 15:17:02


La franja horaria es GMT +2. Ahora son las 05:17:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi