java - 如何获取sqlite中视图的ddl?
问题描述
我需要建立一个数据库的结构。我可以使用获取视图的名称databasemetadata.getTables(null,null,"%","VIEWS");
但是如何获取ddl,即视图的查询呢?
解决方案
的结果集中返回了 10 列databasemetadata.getTables()
,但没有一列包含视图的定义。
您可以做的是查询表并sqlite_master
获取 2 列:它们对应于视图的名称及其定义:name
sql
String select_views = "SELECT name, sql FROM sqlite_master WHERE type = 'view';";
Statement stmt = conn.createStatement(); // conn is the connection object
ResultSet rs = stmt.executeQuery(select_views);
while (rs.next()) {
System.out.println(rs.getString("name") + "\t" + rs.getString("sql"));
}
推荐阅读
- wordpress - Elementor 小部件文件夹 - WordPress
- nginx - Lua Envoy 上游代理
- vim - 在 VIM 中滚动时 TMUX 状态行消失
- kubernetes - Prometheus Operator Alertmanager - 自定义规则 - 在 config.plain 类型中找不到字段组
- python-3.x - 错误无法解压不可迭代的 NoneType 对象
- c++ - 函数中的c ++ sizeof命令不起作用
- java - 检查Java中是否已经存在数组条目
- c - Native Tizen - 如何删除图像?
- git - 根据差异合并两个分支
- c++ - 不能使用 Qt Xlsx