導出所有存儲過程
A. oracle怎麼導出function和procere,即函數和存儲過程
使用oracle的一般都裝了PL/sql吧,對象窗口,找到對應的函數或者存儲過程,右鍵查看或編輯。
一般單個我是這么用,如果很多的話可以參考一下網上提供的方法:
oracle 導出一個用戶下的所有存儲過程
方法一:
set echo off ;
set heading off ;
set feedback off ;
spool d:\tmp.txt
select text from user_source ;
spool off;
方法二:
使用PL/SQL 菜單 Tools --> Export user objects... ,對彈出的dialog中選擇user和output file,選中要導出的內容,點擊export導出就行了
B. 如何備份SQL存儲過程批量導出資料庫存儲過程
打開SQL Server Management Studio查詢分析器,找到需要批量導出SQL存儲過程資料庫。右鍵菜單-任務-生成腳本。
進入的生成SQL Server腳本向導。點擊下一步。
選中要導出所有SQL存儲過程的資料庫。繼續下一步。
腳本選項,不用做修改,默認即可。
在選擇對象類型中,選擇存儲過程。
這樣可以看到這個資料庫中所有的SQL存儲過程,可以批量選擇SQL存儲過程,也可以全選所有的SQL存儲過程進行導出。
在腳本模式中,腳本保存到文件,選擇需要導出保存到電腦上的文件夾路徑。單個文件即所有SQL存儲過程都放在一個SQL文件中,不是每個SQL存儲過程獨立一個SQL文件。所以可以選擇每個對象一個文件。
設置向導完成,等待導出完成即可。
C. oracle資料庫可否批量導出存儲過程
Oracle批量導出存儲過程
法一:
PL/SQL工具導出
法二:
Sql代碼
SET echo off;
SET heading off;
SET feedback off;
spool C:\Documents and Settings\Administrator\桌面\proc.sql;--1、用sys用戶等陸的話:
Sql代碼
select text from dba_source where owner= 'lingfeng' and type = 'PROCEDURE';--2、用一般用戶(要導出其下存儲過程的用戶):
Sql代碼
select text from user_source;
spool off;
法三:(自己寫存儲過程導出)
1.創建DIRECTORY
Sql代碼
create or replace directory PROCE_DIR as 'C:/Documents and Settings/Administrator/桌面';如創建報沒許可權的錯誤,則以system的用戶登錄,給當前用戶賦權--賦權語句
Sql代碼
grant create any directory to bijian;
--撤權語句
Sql代碼
revoke create any directory from bijian;
創建之後可通過如下語句查詢是否創建成功
Sql代碼
select * from dba_directories;
2.創建導出存儲過程
Sql代碼
create or replace procere loadProce(owner varchar2)is
type user_source_table_type is table of user_source.text%TYPE INDEX BY BINARY_INTEGER;user_source_table user_source_table_type;file_handle utl_file.file_type;
stor_text VARCHAR2(4000);
sql_stat varchar2(1000);
sql_stat2 varchar2(1000);
sql_stat3 varchar2(1000);
nCount NUMBER;
i NUMBER;
begin
sql_stat:='select distinct(name) from all_source where owner = ''' || upper(owner) || '''';execute immediate sql_stat bulk collect into user_source_table;file_handle:=utl_file.fopen('PROCE_DIR','test.sql','W');for j in 1..user_source_table.count loop
i:=1;
sql_stat2:='SELECT MAX(LINE) FROM ALL_SOURCE WHERE OWNER=''' || upper(owner) || ''' AND NAME=''' || user_source_table(j) || '''';--dbms_output.put_line(sql_stat2);
execute immediate sql_stat2 into nCount;
WHILE i<=nCount LOOP
sql_stat3:='SELECT TEXT FROM ALL_SOURCE WHERE OWNER=''' || upper(owner) || ''' AND NAME=''' || user_source_table(j) || ''' and line = ' || i;--dbms_output.put_line(sql_stat3);
execute immediate sql_stat3 into stor_text;i:=i+1;
utl_file.put(file_handle,stor_text);
END LOOP;
end loop;
utl_file.fclose(file_handle);
commit;
end loadProce;
3.調用,將TYPE BODY、PROCEDURE、TYPE、FUNCTION、TRIGGER、PACKAGE BODY、PACKAGE保存到桌面的test.sql中Sql代碼
begin
loadproce('bijian');
end;
D. sybase怎麼批量導出存儲過程
自做一SHELL腳本,
將存儲過程名從 sysobjects中選出
然後通過 sp_helptext 導出
獲取每個存儲過程內容
E. 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文件,如圖:
F. 如何導出導入存儲過程
SQL存儲過程的導出導入 SqlServer存儲過程的導出導入 打開「企業管理器」,選擇需要導出存儲過程的資料庫,按右鍵,選擇「所有任務」,打開「生成SQL腳本」 打開「生成SQL腳本」窗口,點擊「全部顯示」按鈕 選擇「全部存儲過程」,其他的「設置格式」和「選項」...
G. Oracle怎麼導出存儲過程
1、首先登錄到資料庫中,點擊右上角有個工具欄,點擊工具欄上的tools。
H. oracle資料庫怎麼導出存儲過程
Oracle怎麼導出存儲過程www.MyException.Cn網友分享於:2014-02-26瀏覽:115次Oracle如何導出存儲過程昨天使用exp可以導出oracle資料庫表,今天說下怎麼導出存儲過程。首先看下使用pl/sql怎麼導出存儲過程。導出步驟:tools-->ExportUs
I. Oracle中用哪個命令可以批量導出存儲過程
這樣試試:
在sqlplus 下:
set echo off;
set heading off;
set feedback off;
spool c:\proc.txt
--1、用sys用戶等陸的話:
select text from dba_source where owner='YOUR_USER' and type ='PROCEDURE';
--2、用一般用戶(要導出其下存儲過程的用戶):
select text from user_source;
spool off;
J. 如何導出一個用戶下的所有表,索引,視圖,存儲過程
如何導出一個用戶下的所有表,索引,視圖,存儲過程
mysql資料庫表結構導出 命令行下具體用法如下: mysqlmp -u用戶名 -p密碼 -d 資料庫名 表名 > 腳本名; 導出整個資料庫結構和數據 mysqlmp -h localhost -uroot -p123456 database > mp.sql 導出單個數據表結構和數據