昨天使用exp可以导出oracle数据库表,今天说下怎么导出存储过程。

首先看下使用pl/sql怎么导出存储过程。

导出步骤:

tools-->Export User Objects...-->选择存储过程(Procedure,Function,Trigger,Type,Type Body,Package)等-->在Output File选择导出位置-->Export

使用上述步骤可以导出表,序列,存储过程,函数,触发器,Type,包等,导出结果为:

导出后,怎么使用pl/sql导入呢?步骤如下:

tools-->Import Tables-->选择标签页SQL Inserts-->在Import File中选择Sql文件位置-->Import

不使用pl/sql怎么导出存储过程呢?

一般用户导出存储过程脚本为:

SET echo off;

SET heading off;

SET feedback off;

spool f:/saveFile/tmp/my_proc.sql;

select text from user_source;

spool off;

Sys用户导出存储过程脚本为:

SET echo off;

SET heading off;

SET feedback off;

spool f:/saveFile/tmp/tmd_proc.sql;

select text from dba_source where owner= 'TMD' and type = 'PROCEDURE';

spool off;

导出发现三次导出的文件大小不一致,第二次普通用户spool导出的文件最大,怀疑是select时候没带条件导出来其他的Type,Trigger之类的数据,下面开始测试看下有那些类型:

系统Sys用户:

select distinct type from dba_source

结果为:

普通用户TMD:

select distinct type from user_source

结果为:

可见类型有PROCEDURE,PACKAGE,PACKAGE BODY,TYPE BODY,TRIGGER,FUNCTION,TYPE,第二次导出没带Type参数导致导出结果不准确:

只导出存储过程正确的方法为:

SET echo off;

SET heading off;

SET feedback off;

spool f:/saveFile/tmp/my_proc2.sql;

select text from user_source where type = 'PROCEDURE';

spool off;

使用pl/sql导出的数据(如存储过程)是带用户名的,上面写的使用spool是不带用户名的。

导出结果和Sys用户导出结果比对,结果为:

结果很正确,想要导什么数据,把Type修改下就OK了,表除外。举个例子

普通用户导出Type,和Type Body

SET echo off;

SET heading off;

SET feedback off;

spool f:/saveFile/tmp/my_type.sql;

select text from user_source where type in('TYPE BODY','TYPE');

spool off;

结果为:

眼尖的朋友可能看出来了,如果我想导出视图怎么办呢,上面的类型中可是没有VIEW这一类的。

使用pl/sql导出是一种方法:

没有像上面的从数据库中select出来呢?

网上说可以使用:

select dbms_metadata.get_ddl('VIEW','VW_TB_A','TMD') from dual;

可是我的直接报错了,如下:

网上的解决方法是:

以sysdba用户登陆以后执行以下语句:

exec dbms_metadata_util.load_stylesheets;

可是我的直接报错:

电脑上rdbms下面根本没有xml文件夹:

自己也找了很久的资料,一直没解决,可能是数据库版本太低所致。

全文完。

oracle将存储过程导出,Oracle如何导出存储过程相关推荐

  1. oracle存储过程导出查询结果,ORACLE如何实现函数、包、存储过程的导入和导出

    建 议可以用常规的检查,检查一下:数据字典信息/exp 导出结构检查 1.检查 SELECT * FROM ALL_SOURCE t WHERE T.OWNER = '要查询用户' AND t.TYP ...

  2. oracle批量生成索引,ORACLE迁移时批量导出索引、存储过程,表结构等

    [toc] ORACLE迁移中的一些经验(一)批量导出sequence 批量导出squence 在网上找到这样一条语句: select 'create sequence ' || sequence_n ...

  3. Oracle简单的备份和恢复-导出和导入(1)

    ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(1) Oracle简单的备份和恢复-导出和导入 1. 用户导出自己的表(emp,dept)返回顶部 1.1, 我们启动Oracl ...

  4. Oracle表里的照片怎么导出来,如何导出oracle数据库中某张表到excel_oracle数据库表格导出到excel...

    如何将oracle数据库表字段导成excel表格 这个你只要用ADO连oracle并获取记录集,根据你用的编程语言打开EXCEL,然后操作EXCEL对象的工作表就可以了.以VB为例: 1.在工程中引用 ...

  5. oracle导出对象和数据,浅析Oracle对象和数据的导入导出

    对于Oracle对象和数据的导入导出,我们会用到一些小工具.以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出.导入数据时有两个问题: 1.要把表数 ...

  6. Oracle Imp and Exp (导入和导出) 数据 工具使用

    Oracle 提供两个工具imp.exe 和exp.exe分别用于导入和导出数据.这两个工具位于Oracle_home/bin目录下. 导入数据exp 1 将数据库ATSTestDB完全导出,用户名s ...

  7. oracle 多表导出,oracle多表导出dmp

    dmp动态多路径,中国广告DMP的出路在哪儿?,oracle多表导出dmp,oracle导入dmp文件 1 将数据库 orcl 完全导出,用户名 scott 密码 123 导出到 D:\daochu. ...

  8. oracle exp导出表where,oracle EXP导出一张表时使用query参数指定where条件

    oracle exp 导出一个表的部分内容,使用query参数可加上SQL的where条件进行过滤 注意:如果需要使用到日期字符串格式等单引号,需要使用双引号将where条件括起来,而且双引号要用\做 ...

  9. datagrip 导出 Oracle 数据库结构和数据到sql脚本中

    文章目录 1. 问题描述 2. 数据库右键 -- 仅对 MySQL 和 PostgreSQL 有效 1. MySQL 备份 -- mysqldump 2. PostgreSQL 备份 -- pgdum ...

最新文章

  1. resultmap为list_MyBatis源码:原来 resultMap 解析完是这样
  2. plsql与java_Oracle之PLSQL与Java应用
  3. linux系统下创建文件系统
  4. 加速度积分成位移的频域方法
  5. ScrollView中使用ListView
  6. 基于Wemos的智能感应开盖垃圾桶——日记
  7. 为什么需要超过48k的采样音频?
  8. python random函数_详细代码实战讲解:如何用 Python让自己变成天选之子
  9. 【截至2006.12.31】毒霸反间谍可清除的部分流氓软件清单
  10. android路上的点点滴滴
  11. 【FPGA目标跟踪】基于FPGA的帧差法和SAD匹配算法的目标跟踪实现
  12. mac os 下 打开 JXM 文件
  13. Redis持久化(RDB/AOF)【西橙先生】
  14. php接入支付宝app支付接口,php支付宝App支付生成预支付订单(统一下单接口)
  15. 医学图像处理与深度学习入门
  16. Gradio实现算法可视化
  17. id门禁卡复制到手机_门禁卡复制到苹果手机
  18. Android | 打印堆栈
  19. 迅雷2010校园招聘吉林大学第二次笔试题
  20. 机器学习3:——Pandas——3:文件读取和存储

热门文章

  1. windows做ntp server,linux做ntp client端的配置方法
  2. React 第十一章 组件的组合使用
  3. netty ByteBuf对象池和内存泄漏检测实现走读
  4. mysql 创建表字段长度范围_Mysql的建表规范与注意事项
  5. 求一个任意实数c的算术平方根g_初中数学实数相关知识点:这些小技巧,解题有大用...
  6. golang nil 不等于 nil的问题
  7. php类代码中常看到::的操作符
  8. springboot整合通用mapper操作数据库
  9. 看面试题感觉生疏的知识点
  10. Spring基础面试题-同步更新