当前位置:首页 » 存储配置 » sql导出存储过程

sql导出存储过程

发布时间: 2025-07-16 06:10:41

1. Oracle批量导出存储过程(保持每个存储过程独立)

略微复杂,需要存储过程实现。

1、创建输出路径,比如你要在d盘test目录下输出,你就先在d盘根目录下建立一个test的目录。

2、sqlplus下以sysdba登录,执行以下语句

createorreplacedirectoryTMPas'd:	est';

grantread,writeondirectoryTMPtoscott;--比如我用的scott用户

altersystemsetutl_file_dir='d: est'scope=spfile;

3、以上步骤执行完,需要重启数据库

4、创建一个存储过程,代码如下(基本是不用改动,原封复制即可):

CREATEORREPLACEPROCEDURESP_OUTPUT_PROCEDUREis
file_handleutl_file.file_type;
Write_contentVARCHAR2(1024);
Write_file_nameVARCHAR2(50);
v_namevarchar2(50);
v_textvarchar2(2000);
cursorcur_procere_nameis
selectdistinctnamefromuser_sourcewheretype='PROCEDURE';
cursorcur_sp_outis
selectt.text
from(select0line,'CREATEORREPLACE'text
fromal
union
selectline,text
fromuser_source
wheretype='PROCEDURE'
andname=v_name)t
orderbyline;
begin
opencur_procere_name;
loop
fetchcur_procere_name
intov_name;
exitwhencur_procere_name%notfound;
write_file_name:=v_name||'.txt';
opencur_sp_out;
loop
fetchcur_sp_out
intov_text;
exitwhencur_sp_out%notfound;
file_handle:=utl_file.fopen('TMP',write_file_name,'a');
write_content:=v_text;
--writefile
IFutl_file.is_open(file_handle)THEN
utl_file.put_line(file_handle,write_content);
ENDIF;
--closefile
utl_file.fclose(file_handle);
endloop;
closecur_sp_out;
endloop;
closecur_procere_name;
end;

5、创建完毕执行存储过程,这个就不赘述了,执行完毕后,你会发现d盘test目录下的文件名就是以存储过程名命名的txt文件,如图:

2. sql server2000 加密的存储过程 怎么导出

可以导入,太大,就不要用记事本或者其它编辑器打开了,
查询分析器--连接数据库--文件--打开--.sql文件--F5执行

不过你把数据导出为SQL文件,而且200多M,真的是。

为何不压缩后,直接拷库文件,或者直接备份导出呢。

如果查询分析器不能打开的话,没办法,去找台好点的机子来执行,OK后,把DBF和LOG文件拷过来就可以用了,
查询分析器--连接数据库--文件--打开--.sql文件--F5执行,,就是这个步骤了,还有什么详细的,打开查询分析器,连接你要导入的数据库,文件,打开,选择你那个200多M的SQL文件,F5执行,就OK了,,如果内存不足,想别的办法去别的机子或者别的办法,导成功后,把数据文件直接拷到你MSSQL下面的DATA里面就可以用了。

3. 如何导出ORACLE指定存储过程

1、要想连接到一个数据库,先得配置一个tnsnames.ora文件。路径位于 【XX】/NETWORK/ADMIN/tnsnames.ora。【XX】视具体情况而定。

截图中红框标记的地方需要改成你需要连接的数据库的信息。


注意事项

若出现乱码,可能需要将编写的sql文件转换为utf-8格式。

若提示无法创建spool文件,请确保目录C:/EXP/DDL存在,或者指定新的路径。

4. 如何把pl/sql中的存储过程导出

1. 打开PL/SQL Developer如果 在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入 用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定 找到 需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码. 2. 添加debug信息为了 能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息].这样 就为包体添加了调试信息。 3. 调 试存储过程现在 所有的准备工作都做好了,可以调试跟踪存储过程了。选择 需要调试的存储过程,点击右键,在弹出菜单中 选择[测试],进去测试窗口.测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程, 自动生成的代码已经足够了。接着按照如下的步骤进行调试。(1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数 的,参数可以在测试窗口右下部分输入。如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180,输出参数是mycursor,是查看结果的,不需要输入任何值。 (2)开始调试,点击[调试]菜单->[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行. (3)以后的调试过程跟我们熟悉的的调试过程就一样了:运行(Ctrl+R)单步 进入(Ctrl+N)单步 跳过(Ctrl+O)单步 退出(Ctrl+T)或者 点击debug工具条上的按扭:当按Ctrl+N进去存储过程的源代码中后 在这 个窗口中可以查看过程中的变量值和堆栈。 (4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮). 4. Tip 令人 比较郁闷的是我们项目中很多的存储过程都是一个SELECT语句,不管这个SELECT语句多么复杂(SELECT语句中有嵌套的子SELECT语句),它也只能作为一行代码,单步跟踪就没有什么意义了。

热点内容
为什么换安卓这么难 发布:2025-07-16 17:14:44 浏览:421
转动密码锁怎么开 发布:2025-07-16 17:14:37 浏览:611
服务器和网关ip 发布:2025-07-16 17:09:35 浏览:930
如何用net映射服务器盘符 发布:2025-07-16 17:08:50 浏览:13
小飞机android 发布:2025-07-16 16:51:00 浏览:236
python获取api 发布:2025-07-16 16:35:28 浏览:740
安卓应用耗电优化是什么 发布:2025-07-16 16:29:39 浏览:502
惠普电脑都有什么配置的 发布:2025-07-16 15:51:49 浏览:520
hadoop编译native 发布:2025-07-16 15:48:57 浏览:256
checksum的算法 发布:2025-07-16 15:48:50 浏览:846