plsql导出数据字典
方法一:PLSQL + POWER DESIGNER + PDMREADE
1、从PLSQL中导出表结构,点击TOOL==>export user objects ,导出文件名为test.sql
注意,因为公司要求只需要表格,根据要求User 选择IRCP ,type选择TABLE ,通过shift 全选,将storage owner 不选,直接导出文件到桌面。
2、打开PowerDesigner
单击File---->Reverse Engineer---->Database
设值文件名并选择数据库类型
选择之前导出的test.sql,单击确定,这步因为数据量比较大,很慢,耐心等待即可!
成功生成PDM文件后的窗口如上图,然后右键PhysicalDataModel_1,单击save as
另存为test.pdm
3、打开PDMReader,单击文件--->打开*.pdm数据字典文件,选择之前导出的test.pdm文件,最后右键PhysicalDataModel_1.pdm,文件导出--->导出到word
若无法打开.pdm文档,建议关闭后重新打开一次即可,或者需要更新软件
方法二 直接使用SQL语句筛选 ,结合Excel宏将各表分开,最后通过超链接函数(比较复杂,耗时严重,手动较多)
1、将表结构导出,按住表格左上角然后右键 导出Excel
SELECT OWNER, TABLE_NAME AS "表名", COMMENTS AS "表注释" FROM ALL_TAB_COMMENTS where owner = 'IRCP' ORDER BY TABLE_NAME
------查询出所有表,导出Excel ,作为基表存在
select B.TABLE_NAME AS "F表名",C.COMMENTS AS "表说明",B.COLUMN_ID AS "字段序号",B.COLUMN_NAME AS "字段名",B.DATA_TYPE AS "字段数据类型",A.COMMENTS AS "字段描述"
FROM ALL_COL_COMMENTS A,ALL_TAB_COLUMNS B,ALL_TAB_COMMENTS C
WHERE A.TABLE_NAME IN (SELECT U.TABLE_NAME FROM USER_ALL_TABLES U)AND A.OWNER = B.OWNERAND A.TABLE_NAME = B.TABLE_NAMEAND A.COLUMN_NAME = B.COLUMN_NAMEAND C.TABLE_NAME= A.TABLE_NAMEAND C.OWNER = A.OWNERAND A.OWNER = 'IRCP'/* AND A.TABLE_NAME = 'ABNORMAL_TRAN_MONITOR'*/
ORDER BY A.TABLE_NAME ,B.COLUMN_ID
-----查询出所有表名称和每个表内容,导出Excel ,供之后使用宏拆分
2、打开目标excel,按alt + f11键打开VBE窗口
选择插入->模块粘贴下面代码到编辑器中
3、输入下面这段语句
Sub 保留表头拆分数据为若干新工作簿()
Dim arr, d As Object, k, t, i&, lc%, rng As Range, c%
c = Application.InputBox("请输入拆分列号", , 4, , , , , 1)
If c = 0 Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
arr = [a1].CurrentRegion
lc = UBound(arr, 2)
Set rng = [a1].Resize(, lc)
Set d = CreateObject("scripting.dictionary")
For i = 2 To UBound(arr)
If Not d.Exists(arr(i, c)) Then
Set d(arr(i, c)) = Cells(i, 1).Resize(1, lc)
Else
Set d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc))
End If
Next
k = d.Keys
t = d.Items
For i = 0 To d.Count - 1
With Workbooks.Add(xlWBATWorksheet)
rng.Copy .Sheets(1).[a1]
t(i).Copy .Sheets(1).[a2]
.SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xls"
.Close
End With
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "完毕"
End Sub
4、保存后 (显示保存不了关系也不大)打开Excel常规页面 ,点击视图==》宏==》查看宏,自动弹出下面窗口,点击确定
5、 鼠标从按钮上面移开 ,然后点击按钮输入要列号,就是根据哪列的数据进行拆分文件,下图我们输入4就是按照班级进行拆分,根据不同的班级拆分成不同的文件
6、点击确定后,如果弹出完毕提示框代表拆分完成(数据量大就比较慢,耐心等待即可)
7、到源文件所在的目录文件中查看拆分的文件
8、将拆分的文件与第2步的基表进行连接,使用超链接函数=HYPERLINK(link_location,friendly_name),基本实现从主表找到从表的形式,目前的问题是需要进入从表后返回,以及将从表全部放在主表中,方便其他同事使用,因为已经通过第一种方法解决,这个就没有往后思考了,希望看到的朋友能给一些思路,谢谢!
注释:查询的过程中也有朋友说使用spool等脚本,不太理解
plsql导出数据字典相关推荐
- oracle字典表导出,oracle 如何导出数据字典
-- 查询某表的数据字典 SELECT A.TABLE_NAME AS "表名",A.COLUMN_NAME AS "字段名", DECODE(A.CHAR_ ...
- Oracle PLSQL 导出数据table xx contains one or more CLOB columns 解决方案
Oracle PLSQL 导出数据table xx contains one or more CLOB columns 解决方案 参考文章: (1)Oracle PLSQL 导出数据table xx ...
- mysql导出数据字典6_MySQL利用Navicat导出数据字典
这里算是一个小技巧 利用mysql的information_schema中的COLUMNS表 和navicat中的导出功能实现快速导出数据字典 CREATE TEMPORARYTABLE `COLUM ...
- PowerDesigner概念模型与物理模型相互转换及导出数据字典
原文:PowerDesigner概念模型与物理模型相互转换及导出数据字典 最近公司项目竣工,验收完成后,把整体平台的所有文档都写清楚,找包发给甲方,由于本人是维护数据库工作,依上面要求,必须编写< ...
- POWER DESIGNER导出数据字典
POWER DESIGNER导出数据字典 文章目录 POWER DESIGNER导出数据字典 脚本代码使用方式 打开powerdesigner,点击[工具]菜单,再选择[执行命令]/[编辑/运行脚本] ...
- oracle使用PLSQL导出dmp文件一闪而过的解决办法
PLSQL导出dmp文件闪退原因就是环境变量. 如果在"系统变量"列表框下面的"变量"列中找不到"ORACLE_HOME"和"OR ...
- Navicat如何导出数据字典
很多人想知道,如何导出数据库字典,今天就教大家如何用Navicat导出数据字典 首先打开Navicat 然后打开要导出的数据库 然后新建查询,然后输入以下sql SELECTt.TABLE_SCHEM ...
- PLSQL导出的SQL,中文乱码
PLSQL导出SQL文件,中文乱码,网上搜了半天,没有搜出问题所在,自己摸索了一下,解决了,方法如下: 1.用PLSQL导出SQL语句 2.发现中文乱码 3.进行修改,进入tools->pref ...
- PLSQL导出和导入sql脚本
PLSQL导出和导入sql脚本 1.打开命令行窗口 2.输入@ 3.回车并修改文件类型,然后选择要导入的文件 4.等待结果 导出 不知你是否遇到过,别人导出的sql脚本,导入时plsql扛不住,直接一 ...
- PLSQL导出、导入数据 和 同步数据 以及 navicat 里同步数据 以及解决plsql导出数据乱码问题
PLSQL导出.导入数据 和 同步数据 以及 navicat 里同步数据 以及解决plsql导出数据乱码问题 1. 导出数据 1.1 导出.pde文件 1.2 导出sql文件 1.2.1 导出sql压 ...
最新文章
- 字节跳动 EB 级 HDFS 实践
- OpenGL延迟着色之三
- ALGO-221 数据交换
- 1.EXTJS Row Editor Grid 点取消时插入的新行 的解决方法
- python委托模式详细解释
- 语音识别的最终目标是真正实现人机交互
- 新兴IT企业特斯拉(九)——私有化风波
- android 台球开源,森林里的台球赛 Android新游《丛林撞球》
- 树的遍历 ALDS1_7_C: Tree Walk
- Java的依赖对象是什么意思_面向对象编程依赖注入详解
- Zookeeper -选举流程
- 函数图像的变换 与 解析式的变换 之关系
- 第十六天(配置BPDU,TCN BPDU)
- 【PhpSpreadsheet】实现excel冻结列和行(即左右滚动时指定列和行固定不动)
- 自力更生给笔记本电脑换固态并重装系统
- 部署Apache Doris
- NTKO 文档控件问题总结
- 自动控制原理7.7---离散系统的数字校正
- 哔咔漫画怎样切换横屏?
- python进程池(子进程)函数没有执行
热门文章
- 【pyqt5学习】——日历控件calendarWidget设置单元格格式(前景、背景)、日历控件属性编辑
- Robotframework+Appium环境搭建
- php如何将时间戳,PHP如何将时间戳转换日期
- [HTML+CSS+Vue.js] 超长文本等内容默认折叠显示,点击展开全文,再点击收起(仿知乎效果)
- cjson构建_cJSON结构体构建
- Windows10安装Vmware12
- matlab xlsread 日期,为什么Xlsread读取(日期时间)为字符串
- 老男孩Python高级全栈开发工程师【高清全套完整】
- 追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试
- 博图如何上载wincc程序_博图导入触摸屏程序 如何通过博图下载触摸屏程序