已关闭,此问题需要更focused,目前不接受回答。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
7天前关闭。
Improve this question
我的期望是从现有的表中生成DDL字符串。就像大多数IDE一样,只需单击一下,但通过Java。我使用PostgreSQL作为数据库。
我想收集的只是这个;
从mySchema.myTable
| 色谱柱A|B栏|
| --------------|--------------|
| 细胞1|单元2|
| 单元格3|单元4|
一些神奇的代码返回创建表脚本作为字符串
create table myTable (
columnA ....
columnB ....
)
等等
2条答案
按热度按时间kmbjn2e31#
生成表定义并不是那么简单,这不会100%的工作时间。
您可以使用此函数生成/提取给定oid的表的定义:
然后可以像这样调用函数
SELECT tabledef('<tablename>'::regclass::oid);
这个版本获取第一个匹配表名的oid。如果表名不是唯一的,这可能会与索引或类似的东西冲突。在这种情况下,您需要检查pg_class并以这种方式找到oid。(
SELECT * FROM pg_catalog.pg_class WHERE relname = '<tablename>'
)。yrefmtwq2#
应该可以通过JDBC获得所需的数据来创建脚本,如下所述:https://www.baeldung.com/jdbc-database-metadata