/** * * * **/ <%-- * Copyright: Copyright (c) 2010
* Company: matol
* 查看Oracle数据库当前连接的用户下的所有表结构、视图、索引 * @author matol * @version 1.0 * Date: 2010-10-18--%><%@ 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"%><%try{ request.setCharacterEncoding("GBK"); String querySql = ""; Statement cn = dBConn.dBConnect(); //根据情况自己导入连接对象 ResultSet rs = null; String DBUserName = ""; rs = cn.executeQuery("select user from dual"); if(rs.next()){ DBUserName = StringPlus.getString(rs.getString(1)); } rs.close();%> Oracle数据库当前连接的用户下的所有表结构、视图、索引 一、系统所有表 |
序号 | 表名称 | 注解 | <% 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] = StringPlus.getString(rs.getString("TABLE_NAME")); comments[tableSuffix] = StringPlus.getString(rs.getString("COMMENTS"));%> <%=StringPlus.getString(rs.getString("rownum"))%> | <%=tableName[tableSuffix]%> | <%=comments[tableSuffix]%> | <% tableSuffix++; } rs.close();%> |
二、系统视图 |
序号 | 视图名称 | 注解 | <% querySql = "select t.*, rownum from all_tab_comments t where t.owner='" + DBUserName + "' and t.table_type='VIEW' order by table_name"; rs = cn.executeQuery(querySql); while(rs.next()){ %> <%=StringPlus.getString(rs.getString("rownum"))%> | <%=StringPlus.getString(rs.getString("TABLE_NAME"))%> | <%=StringPlus.getString(rs.getString("COMMENTS"))%> | <% } rs.close();%> |
四、索引 |
序号 | 索引名称 | 表名称 | <% querySql = "select t.*, rownum from all_indexes t where t.table_owner='" + DBUserName + "' order by T.table_name"; rs = cn.executeQuery(querySql); while(rs.next()){ %> <%=StringPlus.getString(rs.getString("rownum"))%> | <%=StringPlus.getString(rs.getString("INDEX_NAME"))%> | <%=StringPlus.getString(rs.getString("TABLE_NAME"))%> | <% } rs.close();%> |
四、表结构 |
<% for(int i=0;i <%=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] + "'"; rs = cn.executeQuery(querySql); while(rs.next()){%> <%=StringPlus.getString(rs.getString("rownum"))%> | <%=StringPlus.getString(rs.getString("column_name"))%> | <%=StringPlus.getString(rs.getString("COMMENTS"))%> | <%=StringPlus.getString(rs.getString("data_type"))%>(<%=StringPlus.getString(rs.getString("data_length"))%>) | FALSE | FALSE | FALSE | <% } rs.close();%> |
<% }%>
<%}catch(Exception e){ out.print(e.getMessage());}finally{ dBConn.close();}%>