以下是Oracle導出sql語句存儲過程的一個方法:
先修改init.ora
例如:
utl_file_dir=/usr //路徑為 Oracle所在的盤:/usr
然後就是Oracle導出sql語句的過程。此過程將用戶TEMP的P1過程的代碼保存到Oracle安裝盤下/USR/TEXT.TXT中
- create or replace procedure TEST
- is
- file_handle utl_file.file_type;
- STOR_TEXT VARCHAR2(4000);
- N NUMBER;
- I NUMBER;
- begin
- I:=1;
- SELECT MAX(LINE) INTO N FROM ALL_SOURCE WHERE OWNER='TEMP' AND
- NAME='P1';
- file_handle:=utl_file.fopen('/usr','test.txt','a');
- WHILE I<=N LOOP
- SELECT TEXT INTO STOR_TEXT FROM ALL_SOURCE WHERE OWNER='TEMP' AND
- NAME='P1' AND LINE= I;
- I:=I+1;
- utl_file.put_line(file_handle,stor_text);
- END LOOP;
- utl_file.fclose(file_handle);
- commit;
- end TEST;
- /
- exec TEST;
這樣就實現了Oracle導出sql語句存儲過程。