日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle utl file putf,UTL_FILE包详解(第二篇)

發(fā)布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle utl file putf,UTL_FILE包详解(第二篇) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

3.4 PUT()

英文解釋:Writes astringtoafile

用法:

utl_file.put(file?IN FILE_TYPE, buffer IN);

函數(shù)原型:

PROCEDURE UTL_FILE.PUT (file IN UTL_FILE.FILE_TYPE, buffer OUT VARCHAR2);

參數(shù)說明:

file由FOPEN返回的文件句柄

buffer包含要寫入文件的數(shù)據(jù)緩存;Oracle8.0.3及以上最大允許32kB,早期版本只有1023B。

UTL_FILE.PUT輸出數(shù)據(jù)時不會附加行終止符。

異常:

UTL_FILE.INVALID_FILEHANDLE

UTL_FILE.INVALID_OPERATION

UTL_FILE.WRITE_ERROR

3.5 NEW_LINE()

英文解釋:Writesoneormoreoperatingsystem-specific line terminatorstoafile

用法:

utl_file.new_line(fileINFILE_TYPE, linesINNATURAL:=1);

UTL_FILE.NEW_LINE

在當前位置輸出新行或行終止符,必須使用NEW_LINE來結(jié)束當前行,或者使用PUT_LINE輸出帶有行終止符的完整行數(shù)據(jù)。

函數(shù)原型:

PROCEDURE UTL_FILE.NEW_LINE (file IN UTL_FILE.FILE_TYPE, lines IN NATURAL := 1);

參數(shù)說明:

file由FOPEN返回的文件句柄

lines要插入的行數(shù)

注意:

如果不指定lines參數(shù),NEW_LINE會使用默認值1,在當前行尾換行。如果要插入一個空白行,可以使用以下語句:

UTL_FILE.NEW_LINE (my_file, 2);

如果lines參數(shù)為0或負數(shù),什么都不會寫入文件。

異常:

VALUE_ERROR

UTL_FILE.INVALID_FILEHANDLE

UTL_FILE.INVALID_OPERATION

UTL_FILE.WRITE_ERROR

3.6 PUT_LINE()

英文解釋:Writes a linetoa file.Appends an operatingsystem-specific line terminator

用法:

utl_file.put_line(

file????? IN FILE_TYPE,

buffer??? IN,

autoflush IN);

UTL_FILE.PUT_LINE

輸出一個字符串以及一個與系統(tǒng)有關(guān)的行終止符

函數(shù)原型:

PROCEDURE UTL_FILE.PUT_LINE (file IN UTL_FILE.FILE_TYPE, buffer IN VARCHAR2);

參數(shù)說明:

file由FOPEN返回的文件句柄

buffer包含要寫入文件的數(shù)據(jù)緩存;Oracle8.0.3及以上最大允許32kB,早期版本只有1023B

注意:

在調(diào)用UTL_FILE.PUT_LINE前,必須先打開文件。

異常:

UTL_FILE.INVALID_FILEHANDLE

UTL_FILE.INVALID_OPERATION

UTL_FILE.WRITE_ERROR

3.7 PUTF()

英文解釋:A PUTprocedurewithformatting

utl_file.putf(

fileINfile_type,

formatINVARCHAR2,

arg1INVARCHAR2DEFAULTNULL,

arg2INVARCHAR2DEFAULTNULL,

arg3INVARCHAR2DEFAULTNULL,

arg4INVARCHAR2DEFAULTNULL,

arg5INVARCHAR2DEFAULTNULL);

UTL_FILE.PUTF

以一個模版樣式輸出至多5個字符串,類似C中的printf

函數(shù)原型:

PROCEDURE UTL_FILE.PUTF

(file IN FILE_TYPE

,format IN VARCHAR2

,arg1 IN VARCHAR2 DEFAULT NULL

,arg2 IN VARCHAR2 DEFAULT NULL

,arg3 IN VARCHAR2 DEFAULT NULL

,arg4 IN VARCHAR2 DEFAULT NULL

,arg5 IN VARCHAR2 DEFAULT NULL);

參數(shù)說明:

file由FOPEN返回的文件句柄

format決定格式的格式串

argN可選的5個參數(shù),最多5個格式串可使用以下樣式

%s在格式串中可以使用最多5個%s,與后面的5個參數(shù)一一對應(yīng)

%s會被后面的參數(shù)依次填充,如果沒有足夠的參數(shù),%s會被忽視,不被寫入文件

n換行符。在格式串中沒有個數(shù)限制

異常:

UTL_FILE.INVALID_FILEHANDLE

UTL_FILE.INVALID_OPERATION

UTL_FILE.WRITE_ERROR

3.8PUT_RAW()

英文解釋:Acceptsasinput aRAWdatavalueandwritesthevaluetotheoutputbuffer

用法:

utl_file.put_raw(

file????? IN file_type,

buffer??? IN,

autoflush IN);

3.9 FCLOSE()

函數(shù)作用:關(guān)閉命名的文件:

utl_file.fclose(file IN OUT file_type);

utl_file.fclose(file IN OUT file_type);

3.10 FCLOSE_ALL()

函數(shù)作用:關(guān)閉所有文件

DECLARE

v_outpututl_file.file_type;

vouthandle utl_file.file_type;

BEGIN

v_output:= utl_file.fopen(v_pathna,'test.txt','R');

vouthandle := utl_file.fopen(v_pathna,'out.txt','W');

IFutl_file.is_open(v_output)THEN

utl_file.fclose_all;

dbms_output.put_line('Closed All');

ENDIF;

ENDfopen;

3.11 FRENAME()

英文解釋:RenameAn OperatingSystemFile

utl_file.frename (

src_locationINVARCHAR2,

src_filenameINVARCHAR2,

dest_locationINVARCHAR2,

dest_filenameINVARCHAR2,

overwriteINBOOLEANDEFAULTFALSE);

BEGIN

utl_file.frename(v_pathna,'test.txt',v_pathna,'x.txt',TRUE);

ENDfrename;

/

存儲過程FRENAME修改一個文件的名稱,這樣我們可以把一個文件從一個位置移動到另外一個位置。

函數(shù)原型:

FRENAME(location VARCHAR2,

filename VARCHAR2,

dest_dir VARCHAR2,

dest_file VARCHAR2,

[ overwrite BOOLEAN ])

參數(shù):

location

目錄名稱,存放在pg_catalog.edb_dir.dirname中,這個目錄包含要改名的文件。

filename

要改名的源文件名稱。

dest_dir

目錄名稱,存放在pg_catalog.edb_dir.dirname中,這個目錄是被改名文件所在的目錄。

dest_file

原始文件的新名稱。

overwrite

如果設(shè)置為”true”,在dest_dir目錄中覆蓋任何名為dest_file的文件。若設(shè)置為”false”,就會產(chǎn)生異常。這是缺省情況。

3.12 FREMOVE()

英文解釋:DeleteAn OperatingSystemFile

utl_file.fremove(locationINVARCHAR2, filenameINVARCHAR2);

-- dump.txt is created in the FCOPY demo

BEGIN

utl_file.fremove(v_pathna,'dump.txt');

ENDfremove;

/

3.13 FFLUSH()

英文解釋:Physically writes pendingdatatothefileidentifiedbythefilehandle

用法:

utl_file.fflush(file IN file_type);

函數(shù)原型:

PROCEDURE UTL_FILE.FFLUSH (file IN UTL_FILE.FILE_TYPE);

參數(shù)說明:

file由FOPEN返回的文件句柄

注意:

操作系統(tǒng)可能會緩存數(shù)據(jù)來提高性能。因此可能調(diào)用put后,打開文件卻看不到寫入的數(shù)據(jù)。在關(guān)閉文件前要讀取數(shù)據(jù)的話可以使用UTL_FILE.FFLUSH。

典型的使用方法包括分析執(zhí)行進度和調(diào)試紀錄。

異常:

UTL_FILE.INVALID_FILEHANDLE

UTL_FILE.INVALID_OPERATION

UTL_FILE.WRITE_ERROR

3.14 FCOPY()

英文解釋:Copies a contiguous portion of a file to a newly created file

utl_file.fcopy(

src_locationINVARCHAR2,

src_filenameINVARCHAR2,

dest_locationINVARCHAR2,

dest_filenameINVARCHAR2,

start_lineINBINARY_INTEGERDEFAULT1,

end_lineINBINARY_INTEGERDEFAULTNULL);

BEGIN

utl_file.fcopy(v_pathna,'test.txt',v_pathna,'dump.txt');

END;

UTL_FILE.FCOPY

存儲過程FCOPY把一個文件中文本拷貝到另外一個文件中。

函數(shù)原型:

FCOPY(location VARCHAR2, filename VARCHAR2,dest_dir VARCHAR2, dest_file VARCHAR2[, start_line PLS_INTEGER [, end_line PLS_INTEGER ] ])

參數(shù)

location

表示目錄名稱,存放在pg_catalog.edb_dir.dirname中,這個目錄包含要拷貝的文件。

filename

要拷貝文件的名稱。

dest_dir

表示目錄名稱,存放在pg_catalog.edb_dir.dirname中,是源文件要拷貝到目的目錄。

dest_file

目標文件的名稱。

start_line

源文件中文本行號,用于指定開始拷貝的位置。缺省值是1。

end_line

源文件中最后一行要拷貝文本的行號。如果省略這個參數(shù)或者這個參數(shù)為空,那么就一直拷貝到文件中最后一行。

總結(jié)

以上是生活随笔為你收集整理的oracle utl file putf,UTL_FILE包详解(第二篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。