PDA

Ver la Versión Completa : obtener los campos y tipos de datos en una tabla


ingabraham
11-06-2014, 21:30:37
buenas tardes,


- necesito un sql para obtener los campos y tipos de datos en una tabla en firebird 2.0

gracias,

ecfisa
11-06-2014, 22:23:54
Hola.


SELECT RF.RDB$FIELD_NAME AS FIELD_NAME,
CASE FL.RDB$FIELD_TYPE
WHEN 7 THEN 'SMALLINT'
WHEN 8 THEN 'INTEGER'
WHEN 9 THEN 'QUAD'
WHEN 10 THEN 'FLOAT'
WHEN 11 THEN 'D_FLOAT'
WHEN 12 THEN 'DATE'
WHEN 13 THEN 'TIME'
WHEN 14 THEN 'CHAR'
WHEN 16 THEN 'INT64'
WHEN 27 THEN 'DOUBLE'
WHEN 35 THEN 'TIMESTAMP'
WHEN 37 THEN 'VARCHAR'
WHEN 40 THEN 'CSTRING'
WHEN 261 THEN 'BLOB'
ELSE 'UNKNOWN'
END AS FIELD_TYPE,
FL.RDB$FIELD_LENGTH AS FIELD_LENGTH,
COALESCE(CS.RDB$CHARACTER_SET_NAME,'') AS FIELD_CHARSET
FROM RDB$RELATION_FIELDS RF
LEFT JOIN RDB$FIELDS FL ON RF.RDB$FIELD_SOURCE = FL.RDB$FIELD_NAME
LEFT JOIN RDB$CHARACTER_SETS CS ON FL.RDB$CHARACTER_SET_ID = CS.RDB$CHARACTER_SET_ID
WHERE RF.RDB$RELATION_NAME= :TABLE_NAME
ORDER BY RF.RDB$FIELD_POSITION


Saludos :)

ingabraham
11-06-2014, 22:50:58
uff amigo me ahorrastes muchas lineas de codigo
ya que no la encontraba, la armare como una vista para ahorrar un poco de codigo desde delphi.

muchas gracias