Estoy escribiendo mi propio navegador de base de datos Firebird utilizando la biblioteca ibpp. ¿Hay alguna manera de obtener la definición de la tabla usando una declaración SQL?Declaración SQL de Firebird para obtener la definición de tabla
Respuesta
Firebird no admite esquemas, por lo que no hay manera de que pueda obtener esa información.
Lo más parecido podría ser el propietario, que se puede obtener mediante la consulta de RDB$RELATIONS
Editar
Un "esquema" es un espacio de nombres dentro de una base de datos. Aparentemente estás buscando la definición de la tabla, no el esquema.
Puede recuperar las columnas de una tabla y sus tipos de datos mediante la consulta de RDB $ Campos y RDB $ RELATION_FIELDS:
select rf.rdb$relation_name as table_name,
rf.rdb$field_name as column_name,
case f.rdb$field_type
when 14 then 'CHAR'
when 37 then 'VARCHAR'
when 8 then 'INTEGER'
...
end as data_type,
f.rdb$field_length,
f.rdb$field_scale
from rdb$fields f
join rdb$relation_fields rf on rf.rdb$field_source = f.rdb$field_name
where rf.rdb$relation_name = 'FOOBAR'
El tipo de datos se almacena como un entero en la columna RDB $ CAMPO. La lista completa de valores en esa columna está documentada en la Guía de referencia de Interbase: http://www.ibphoenix.com/files/60LangRef.zip (al igual que todas las otras columnas en esa tabla del sistema y todas las demás tablas del sistema también). Es posible que necesite revisar todas las guías de actualización para verificar si hubo cambios en las tablas del sistema desde IB 6.0 (The Firebird manual es un ** reall * mess)
- 1. ADO.Net: Obtener la definición de tabla de las tablas del servidor SQL
- 2. Cómo probar la existencia de objetos en SQL Firebird?
- 3. Obtener ctags en vim para ir a la definición, no a la declaración
- 4. ¿Qué tabla es exactamente la tabla "izquierda" y la tabla "derecha" en una declaración JOIN (SQL)?
- 5. La función Substring del SQL de Firebird no funciona
- 6. Crear una tabla en cuestión declaración de T-SQL
- 7. Ayuda con la declaración de SQL (JOIN)
- 8. en línea en la definición y declaración
- 9. múltiples declaraciones de Firebird
- 10. SQL Server: Obtener la clave principal tabla mediante consulta SQL
- 11. Declaración o definición en C
- 12. Declaración de variables SQL - SQL Server
- 13. declaración SQL para verificar la conectividad?
- 14. SQL cómo actualizar las filas de la tabla con una declaración SQL
- 15. ¡Una pregunta sobre la declaración de inserción de SQL!
- 16. Servidor Sql: obtener una declaración de creación de vista para la vista existente
- 17. ¿Es posible cambiar el nombre de una tabla en Firebird?
- 18. Para obtener los detalles de la tabla
- 19. Diseño de tabla para SQL
- 20. Declaración dinámica similar en SQL
- 21. Combinando varias consultas de la misma tabla en una sola declaración SQL
- 22. Pregunta de la teoría de consultas SQL - consultas de declaración única vs consultas de declaración múltiple
- 23. declaración CASE en la cláusula WHERE de SQL
- 24. ¿Debo comentar la declaración o la definición en C++?
- 25. Expresión regular para eliminar comentarios de la declaración SQL
- 26. Declaración de combinación de SQL Server
- 27. Treeview de la tabla sql
- 28. Tamaño de la tabla SQL Azure
- 29. Cómo obtener estructura de tabla en CodeIgniter
- 30. Diferente declaración y definición en C++