博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通用的Oracle数据库当前连接用户下的所有表结构、视图、索引 JSP展示
阅读量:6935 次
发布时间:2019-06-27

本文共 3291 字,大约阅读时间需要 10 分钟。

  hot3.png

<%@ page contentType="text/html; charset=GBK" %><%@ page language="java" import="java.sql.*"%><%@ page import="java.util.*" %><%@ page import="java.text.*"%><%@ page import="java.util.Date"%><%Connection con = null;try{ request.setCharacterEncoding("GBK");  String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";     String theUser = "orcl";     String thePw = "orcl";       Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();     con = DriverManager.getConnection(dbUrl, theUser, thePw);      String querySql = ""; Statement cn = con.createStatement();  ResultSet rs = null; String DBUserName = ""; rs = cn.executeQuery("select user from dual"); if(rs.next()){  DBUserName = rs.getString(1); } rs.close(); %> 
Oracle数据库当前连接用户下的所有表结构、视图、索引
<% for(int i=0;i
<% }%>
一、系统表结构
<% int tableNum = 0; int tableSuffix = 0; querySql = "select count(*) from all_tab_comments t where t.owner='" + DBUserName + "' and t.table_type='TABLE'"; rs = cn.executeQuery(querySql); rs.next(); tableNum = rs.getInt(1); rs.close(); String tableName[] = new String[tableNum]; String comments[] = new String[tableNum]; querySql = "select t.*, rownum from all_tab_comments t where t.owner='" + DBUserName + "' and t.table_type='TABLE' order by table_name"; rs = cn.executeQuery(querySql); while(rs.next()){ tableName[tableSuffix] = rs.getString("TABLE_NAME"); comments[tableSuffix] = rs.getString("COMMENTS");%>
<% tableSuffix++; } rs.close();%>
序号 表名称 注解
<%=rs.getString("rownum")%> <%=tableName[tableSuffix]%> <%=comments[tableSuffix]%>
二、用户表结构
<%=i+1%>、<%=tableName[i]%>(<%=comments[i]%>)
<% querySql = "select t.column_name, t.COMMENTS, t1.data_type, t1.data_length, t1.nullable, rownum from all_col_comments t, all_tab_cols t1 where t.column_name = t1.column_name and t.table_name = t1.table_name and t1.owner='" + DBUserName + "' and t.owner = t1.owner and t.TABLE_NAME = '" + tableName[i] + "' order by t1.COLUMN_ID "; rs = cn.executeQuery(querySql); while(rs.next()){%>
<% } rs.close();%>
序号 字段名称 字段类型(宽度) 是否为空 注解    
<%=rs.getString("rownum")%> <%=rs.getString("column_name")%> <%=rs.getString("data_type")%>(<%=rs.getString("data_length")%>) <%=rs.getString("nullable")%> <%=rs.getString("COMMENTS")%> FALSE FALSE
三、视图
<% querySql = "select t.*, rownum from all_tab_comments t where t.owner='" + DBUserName + "' and t.table_type='VIEW' order by rownum desc "; rs = cn.executeQuery(querySql); while(rs.next()){ %>
<% } rs.close();%>
序号 视图名称 注解
<%=rs.getString("rownum")%> <%=rs.getString("TABLE_NAME")%> <%=rs.getString("COMMENTS")%>
四、索引
<% querySql = "select t.*, rownum from all_indexes t where t.table_owner='" + DBUserName + "' order by rownum desc "; rs = cn.executeQuery(querySql); while(rs.next()){ %>
<% } rs.close();%>
序号 索引名称 表名称
<%=rs.getString("rownum")%> <%=rs.getString("INDEX_NAME")%> <%=rs.getString("TABLE_NAME")%>
<%}catch(Exception e){ out.print(e.getMessage());}finally{ con.close();}%>

转载于:https://my.oschina.net/matol/blog/178317

你可能感兴趣的文章
\r 和 \n
查看>>
python3面向对象(1)
查看>>
自定义ClassLoader实现java应用核心逻辑模块热部署
查看>>
如何挑选适合的前端框架(去哪儿网前端架构师司徒正美)
查看>>
C# 中Excel导出,可以自由设置导出的excel格式
查看>>
搜索引擎技术——全文检索基础原理
查看>>
mac14.5 mojave安装错误
查看>>
opensuse11.4 apache2 403 错误.
查看>>
【计算几何】【凸包】bzoj1670 [Usaco2006 Oct]Building the Moat护城河的挖掘
查看>>
【计算几何】【分类讨论】Gym - 101173C - Convex Contour
查看>>
【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
查看>>
docker
查看>>
ArchLinux下LXDE的安装与设置心得
查看>>
【BZOJ】4873: [Shoi2017]寿司餐厅
查看>>
c++函数内部可以返回函数内部定义的指针 但是不能返回函数内部定义的数组...
查看>>
Gym100947E || codeforces 559c 组合数取模
查看>>
HotSpot虚拟机对象的创建过程
查看>>
分布式系统简单理解
查看>>
lf 前后端分离 (4) 价格策略
查看>>
Python_模块介绍
查看>>