oracle将存储过程导出,Oracle如何导出存储过程
昨天使用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如何导出存储过程相关推荐
- oracle存储过程导出查询结果,ORACLE如何实现函数、包、存储过程的导入和导出
建 议可以用常规的检查,检查一下:数据字典信息/exp 导出结构检查 1.检查 SELECT * FROM ALL_SOURCE t WHERE T.OWNER = '要查询用户' AND t.TYP ...
- oracle批量生成索引,ORACLE迁移时批量导出索引、存储过程,表结构等
[toc] ORACLE迁移中的一些经验(一)批量导出sequence 批量导出squence 在网上找到这样一条语句: select 'create sequence ' || sequence_n ...
- Oracle简单的备份和恢复-导出和导入(1)
ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(1) Oracle简单的备份和恢复-导出和导入 1. 用户导出自己的表(emp,dept)返回顶部 1.1, 我们启动Oracl ...
- Oracle表里的照片怎么导出来,如何导出oracle数据库中某张表到excel_oracle数据库表格导出到excel...
如何将oracle数据库表字段导成excel表格 这个你只要用ADO连oracle并获取记录集,根据你用的编程语言打开EXCEL,然后操作EXCEL对象的工作表就可以了.以VB为例: 1.在工程中引用 ...
- oracle导出对象和数据,浅析Oracle对象和数据的导入导出
对于Oracle对象和数据的导入导出,我们会用到一些小工具.以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出.导入数据时有两个问题: 1.要把表数 ...
- Oracle Imp and Exp (导入和导出) 数据 工具使用
Oracle 提供两个工具imp.exe 和exp.exe分别用于导入和导出数据.这两个工具位于Oracle_home/bin目录下. 导入数据exp 1 将数据库ATSTestDB完全导出,用户名s ...
- oracle 多表导出,oracle多表导出dmp
dmp动态多路径,中国广告DMP的出路在哪儿?,oracle多表导出dmp,oracle导入dmp文件 1 将数据库 orcl 完全导出,用户名 scott 密码 123 导出到 D:\daochu. ...
- oracle exp导出表where,oracle EXP导出一张表时使用query参数指定where条件
oracle exp 导出一个表的部分内容,使用query参数可加上SQL的where条件进行过滤 注意:如果需要使用到日期字符串格式等单引号,需要使用双引号将where条件括起来,而且双引号要用\做 ...
- datagrip 导出 Oracle 数据库结构和数据到sql脚本中
文章目录 1. 问题描述 2. 数据库右键 -- 仅对 MySQL 和 PostgreSQL 有效 1. MySQL 备份 -- mysqldump 2. PostgreSQL 备份 -- pgdum ...
最新文章
- resultmap为list_MyBatis源码:原来 resultMap 解析完是这样
- plsql与java_Oracle之PLSQL与Java应用
- linux系统下创建文件系统
- 加速度积分成位移的频域方法
- ScrollView中使用ListView
- 基于Wemos的智能感应开盖垃圾桶——日记
- 为什么需要超过48k的采样音频?
- python random函数_详细代码实战讲解:如何用 Python让自己变成天选之子
- 【截至2006.12.31】毒霸反间谍可清除的部分流氓软件清单
- android路上的点点滴滴
- 【FPGA目标跟踪】基于FPGA的帧差法和SAD匹配算法的目标跟踪实现
- mac os 下 打开 JXM 文件
- Redis持久化(RDB/AOF)【西橙先生】
- php接入支付宝app支付接口,php支付宝App支付生成预支付订单(统一下单接口)
- 医学图像处理与深度学习入门
- Gradio实现算法可视化
- id门禁卡复制到手机_门禁卡复制到苹果手机
- Android | 打印堆栈
- 迅雷2010校园招聘吉林大学第二次笔试题
- 机器学习3:——Pandas——3:文件读取和存储
热门文章
- windows做ntp server,linux做ntp client端的配置方法
- React 第十一章 组件的组合使用
- netty ByteBuf对象池和内存泄漏检测实现走读
- mysql 创建表字段长度范围_Mysql的建表规范与注意事项
- 求一个任意实数c的算术平方根g_初中数学实数相关知识点:这些小技巧,解题有大用...
- golang nil 不等于 nil的问题
- php类代码中常看到::的操作符
- springboot整合通用mapper操作数据库
- 看面试题感觉生疏的知识点
- Spring基础面试题-同步更新