真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何導存儲,oracle 存儲過程導出excel文件

如何導出ORACLE指定存儲過程

1、要想連接到一個數(shù)據(jù)庫,先得配置一個tnsnames.ora文件。路徑位于 【XX】/NETWORK/ADMIN/tnsnames.ora?!綳X】視具體情況而定。

創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、成都網(wǎng)站設計與策劃設計,撫松網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設十余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:撫松等地區(qū)。撫松做網(wǎng)站價格咨詢:028-86922220

截圖中紅框標記的地方需要改成你需要連接的數(shù)據(jù)庫的信息。

2、測試數(shù)據(jù)庫是否能連通。

運行CMD,命令行執(zhí)行:sqlplus 用戶名/密碼@數(shù)據(jù)庫。

3、編寫導出存儲過程的腳本,保存為E:\export.sql。大概如下(標紅框的地方替換成要保存腳本的路徑和需要導出的存儲過程列表):

SET echo off ;

SET heading ? off ;

SET feedback ? off ;

SPOOL 'C:/EXP/DDL/PRC_JG_JGTZ.SQL' replace

SELECT CASE

? ?WHEN LINE = 1 THEN

? ? 'CREATE OR REPLACE ' || TEXT

? ?WHEN LINE = MAX_LINE THEN

? ? TEXT || CHR(10 ) || '/'

? ?ELSE

? ? TEXT

?END

FROM USER_SOURCE A

LEFT JOIN (SELECT A.NAME,A.TYPE, MAX(LINE) MAX_LINE

? ? ? ? ?FROM USER_SOURCE A

? ? ? ? WHERE TYPE in ( 'PROCEDURE', 'PACKAGE' ,'PACKAGE BODY' )

? ? ? ? GROUP BY A.NAME,A.TYPE ) B ON A.NAME||A.TYPE = B.NAME||B.TYPE

WHERE A.TYPE in ('PROCEDURE' , 'PACKAGE', 'PACKAGE BODY' ) AND A.NAME IN

(

'ETL_FACT_JG_SAEINDEX_SCALE'

,'ETL_FACT_JG_SAEINDEX_SCALE_OLD'

,'ETL_DM_JG_CIRC'

)

ORDER BY a.NAME||a.TYPE , LINE;

SPOOL OFF

4、執(zhí)行剛剛編寫的腳本文件,導出指定的存儲過程。

連接數(shù)據(jù)庫后,輸入:@E:\export.sql

如果遇到了截圖中出現(xiàn)的問題,請參照文章結尾的【注意事項】。

5、若要在新的數(shù)據(jù)庫上創(chuàng)建導出的存儲過程,只需連上新的數(shù)據(jù),然后執(zhí)行剛生成的腳本文件即可。

連接數(shù)據(jù)庫后輸入:@C:\exp\ddl\PRC_JG_JGTZ.SQL

注意事項

若出現(xiàn)亂碼,可能需要將編寫的sql文件轉換為utf-8格式。

若提示無法創(chuàng)建spool文件,請確保目錄C:/EXP/DDL存在,或者指定新的路徑。

Oracle批量導出存儲過程(保持每個存儲過程獨立)

略微復雜,需要存儲過程實現(xiàn)。

1、創(chuàng)建輸出路徑,比如你要在d盤test目錄下輸出,你就先在d盤根目錄下建立一個test的目錄。

2、sqlplus下以sysdba登錄,執(zhí)行以下語句

create?or?replace?directory?TMP?as?'d:\test';

grant?read,write?on?directory?TMP?to?scott;?--比如我用的scott用戶

alter?system?set?utl_file_dir='d:\test'?scope=spfile;

3、以上步驟執(zhí)行完,需要重啟數(shù)據(jù)庫。

4、創(chuàng)建一個存儲過程,代碼如下(基本是不用改動,原封復制即可):

CREATE?OR?REPLACE?PROCEDURE?SP_OUTPUT_PROCEDURE?is

file_handle?????utl_file.file_type;

Write_content???VARCHAR2(1024);

Write_file_name?VARCHAR2(50);

v_name??????????varchar2(50);

v_text??????????varchar2(2000);

cursor?cur_procedure_name?is

select?distinct?name?from?user_source?where?type?=?'PROCEDURE';

cursor?cur_sp_out?is

select?t.text

from?(select?0?line,?'CREATE?OR?REPLACE?'?text

from?dual

union

select?line,?text

from?user_source

where?type?=?'PROCEDURE'

and?name?=?v_name)?t

order?by?line;

begin

open?cur_procedure_name;

loop

fetch?cur_procedure_name

into?v_name;

exit?when?cur_procedure_name%notfound;

write_file_name?:=?v_name?||?'.txt';

open?cur_sp_out;

loop

fetch?cur_sp_out

into?v_text;

exit?when?cur_sp_out%notfound;

file_handle???:=?utl_file.fopen('TMP',?write_file_name,?'a');

write_content?:=?v_text;

--write?file

IF?utl_file.is_open(file_handle)?THEN

utl_file.put_line(file_handle,?write_content);

END?IF;

--close?file

utl_file.fclose(file_handle);

end?loop;

close?cur_sp_out;

end?loop;

close?cur_procedure_name;

end;

5、創(chuàng)建完畢執(zhí)行存儲過程,這個就不贅述了,執(zhí)行完畢后,你會發(fā)現(xiàn)d盤test目錄下的文件名就是以存儲過程名命名的txt文件,如圖:

6、里邊內容(就是存儲過程創(chuàng)建時的代碼,可能排版看著難看點,但是不影響使用):

oracle怎樣導入數(shù)據(jù)庫

我給你一些數(shù)據(jù)庫常用的導入導出命令吧:\x0d\x0a該命令在“開始菜單運行CMD”中執(zhí)行\(zhòng)x0d\x0a一、數(shù)據(jù)導出(exp.exe)\x0d\x0a1、將數(shù)據(jù)庫orcl完全導出,用戶名system,密碼accp,導出到d:\daochu.dmp文件中\(zhòng)x0d\x0aexp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、將數(shù)據(jù)庫orcl中scott用戶的對象導出\x0d\x0aexp scott/accp@orcl file=d:\daochu.dmp owner=(scott)\x0d\x0a\x0d\x0a3、將數(shù)據(jù)庫orcl中的scott用戶的表emp、dept導出\x0d\x0aexp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)\x0d\x0a\x0d\x0a4、將數(shù)據(jù)庫orcl中的表空間testSpace導出\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)\x0d\x0a\x0d\x0a二、數(shù)據(jù)導入(imp.exe)\x0d\x0a1、將d:\daochu.dmp 中的數(shù)據(jù)導入 orcl數(shù)據(jù)庫中。\x0d\x0aimp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、如果導入時,數(shù)據(jù)表已經(jīng)存在,將報錯,對該表不會進行導入;加上ignore=y即可,表示忽略現(xiàn)有表,在現(xiàn)有表上追加記錄。\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y\x0d\x0a\x0d\x0a3、將d:\daochu.dmp中的表emp導入\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp tables=(emp)


新聞名稱:oracle如何導存儲,oracle 存儲過程導出excel文件
鏈接地址:http://weahome.cn/article/hcgccg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部