帮忙有分加,怎样单独导入一个存储过程?很急,在线等待

我将一个存储过程给弄坏了,我想用import 导入备份文件,恢复它(单独一个存储程,不含其它的数据对象),请问怎么导入?
---------------------------------------------------------------

就一个存储过程还用导么?
spool c:\pro.txt
SELECT TEXT FROM ALL_SOURCE WHERE OWNER='TEMP' AND NAME='P1'; //TEMP为你的用户名,P1为你要导出的过程名
spool off;
运行完成后,脚本在c:\pro.txt中
重新编译就可以了
---------------------------------------------------------------

在没有修改过程源码的情况下:

ALTER PROCEDURE procedure_name COMPILE;
---------------------------------------------------------------

就用文本方式传过去执行一下就可以了。
关于文本的取得方法。你去那个没有错误的机器上取一份不就可以吗?

---------------------------------------------------------------

up,up
---------------------------------------------------------------

gz!
---------------------------------------------------------------

你可以在数据库中创建另一个临时用户,比如tempuser,然后把dmp文件导入到该用户下,再把存储过程取出来,到原来用户下执行,然后再把临时用户删掉。
SQL>CREATE USER tempuser identified by aaa;

C:>imp tempuser/aaa@yxgs filename=d:\ddd.dmp fromuser=yxzb touser=tempuser

然后取出存储过程的文本,到yxzb下执行
然后
drop user tempuser cascade;

---------------------------------------------------------------

你可以在数据库中创建另一个临时用户,比如tempuser,然后把dmp文件导入到该用户下,再把存储过程取出来,到原来用户下执行,然后再把临时用户删掉。
SQL>CREATE USER tempuser identified by aaa;

imp tempuser/aaa@yxgs filename=d:\ddd.dmp fromuser=yxzb touser=tempuser

然后得到脚本执行即可

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus