oracle中儲存過程把錶匯出txt檔案

2021-09-11 06:34:57 字數 2175 閱讀 1602

c

摘錄自:

reate or replace procedure loadfiledata(p_path     varchar2,

p_filename varchar2) as

v_filehandle     utl_file.file_type; --定義乙個檔案控制代碼   

v_text           varchar2(100); --存放文字   

v_name           test_loadfile.name%type;

v_addr_jd        test_loadfile.addr_jd%type;

v_region         test_loadfile.region%type;

v_firstlocation  number;

v_secondlocation number;

v_totalinserted  number;

begin

if (p_path is null or p_filename is null) then

goto to_end;

end if;

v_totalinserted := 0;

/*open    specified    file*/

v_filehandle := utl_file.fopen(p_path, p_filename, 'r');

loop

begin

utl_file.get_line(v_filehandle, v_text);

exception

when no_data_found then

exit;

end;

v_firstlocation  := instr(v_text, ',', 1, 1);

v_secondlocation := instr(v_text, ',', 1, 2);

v_name           := substr(v_text, 1, v_firstlocation - 1);

v_addr_jd        := substr(v_text,

v_firstlocation + 1,

v_secondlocation - v_firstlocation - 1);

v_region         := substr(v_text, v_secondlocation + 1);

/*插入資料庫操作*/

insert into test_loadfile values (v_name, v_addr_jd, v_region);

commit;

end loop;

<>

null;

en可以不用在init.ora中改的   

只要用管理員的許可權登陸,執行:   

create    directory    utl_file_test    as    '\*'     

應該就可以了,不用新啟動oracle的   

不過其他使用者要使用此目錄要授權的   

/   

grant    create    any    directory    to    scott;   

grant    create    any    library    to    scott;   

create    or    replace    directory    utllobdir    as    'c:\ep';   

在initsid.ora檔案中,加入或修改   

設定utl_file_dir的要點:   

1。    utl_file_dir=*      這表示你能操作任何目錄,盡量不要用   

2。    utl_file_dir=d:\    這表示你能操作d:\目錄下的檔案,但你不能操作d:\目錄下的子目錄   

3。注意在設定   

utl_file_dir=路徑時,如果路徑是長路徑名,例如c:\my    temp目錄,則你必須加上'',例如:   

utl_file_dir='c:\my    temp'   

4。utl_file_dir可以是多個路徑   

utl_file_dir=c:\,d:\,d:\temp,'c:\my    temp'   

5。設定完必須重新啟動資料庫 d loadfiledata;

Oracle中儲存過程

1 建立乙個儲存過程 create or replace procedure pro name parameter1 parameter2 is as begin plsql sentences pl sql語句,儲存過程功能實現的主體 exception dowith sentences 異常處理...

Oracle 中儲存過程的建立

在oracle 中用到的視覺化的開發工具是pl sql 其儲存過程也和在sql中的無二。今天也算是複習一下舊知識。是什麼?是乙個 集 也可以理解成是乙個程式塊。它在資料庫中來實現功能。為什麼用?1快 因為資料庫接收到從程式中傳過來的 語句,資料庫還要進行編譯成自己認識的語言 即程式每執行一次就編譯一...

Oracle批量匯出儲存過程

法一 pl sql工具匯出 法二 set echo off set heading off set feedback off spool c documents and settings administrator 桌面 proc.sql 1 用sys使用者等陸的話 select text from...