{"id":509,"date":"2015-01-26T12:31:55","date_gmt":"2015-01-26T04:31:55","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=509"},"modified":"2015-09-10T21:53:02","modified_gmt":"2015-09-10T13:53:02","slug":"oracle-utf_file","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=509","title":{"rendered":"Oracle UTL_FILE"},"content":{"rendered":"<p>With the <code><span style=\"font-family: Courier New; font-size: medium;\">UTL_FILE<\/span><\/code> package, PL\/SQL programs can read and write operating system text files. <code><span style=\"font-family: Courier New; font-size: medium;\">UTL_FILE<\/span><\/code> provides a restricted version of operating system stream file I\/O.<br \/>\nFOPEN<br \/>\n\u63cf\u8ff0\uff1a\u6253\u5f00\u4e00\u4e2a\u6587\u4ef6\uff0c\u57fa\u672c\u4e0a\u5728\u6211\u4eec\u5bf9\u6587\u4ef6\u8fdb\u884c\u8bfb\u5199\u52a8\u4f5c\u4e4b\u524d\u90fd\u9700\u8981\u5148\u6267\u884c\u8fd9\u4e2afunction\u6765\u6253\u5f00\u6587\u4ef6\u5148\u3002<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.FOPEN (\u00a0 location IN VARCHAR2,<br \/>\nfilename IN VARCHAR2,<br \/>\nopen_mode IN VARCHAR2,<br \/>\nmax_linesize IN BINARY_INTEGER DEFAULT 1024)\u00a0 RETURN FILE_TYPE;<br \/>\n\u53c2\u6570\uff1alocation\u00a0\u00a0 \u7565\u3002<br \/>\nFilename\u00a0 \u7565\u3002<br \/>\nopen_mode\u00a0 \u6307\u660e\u6587\u4ef6\u6253\u5f00\u7684\u6a21\u5f0f\u3002\u6709\u5982\u4e0b\u51e0\u79cd\uff1a<br \/>\n\u25a0r \u2013\u53ea\u8bfb\uff08\u6587\u672c\uff09<br \/>\n\u25a0 w \u2013 \u53ea\u5199\uff08\u672c\u6587\uff09<br \/>\n\u25a0 a \u2013 \u8ffd\u52a0\uff08\u6587\u672c\uff09<br \/>\n\u25a0 rb \u2013 \u53ea\u8bfb\uff08\u5b57\u8282\uff09<br \/>\n\u25a0 wb \u2013 \u53ea\u5199\uff08\u5b57\u8282\uff09<br \/>\n\u25a0 ab \u2013 \u8ffd\u52a0\uff08\u5b57\u8282\uff09<br \/>\n(\u6ce8\uff1a\u5f53\u4f7f\u7528\u6a21\u5f0f\uff1aa\u6216\u8005ab\u7684\u65f6\u5019\uff0c\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\uff0c\u5219\u4f1a\u4ee5write\u6a21\u5f0f\u521b\u5efa\u6b64\u6587\u4ef6)<br \/>\nmax_linesize\u00a0\u00a0 \u6307\u5b9a\u6587\u4ef6\u6587\u672c\u6bcf\u4e00\u884c\u5b58\u653e\u7684\u6700\u5927\u5b57\u7b26\u6570\u3002<br \/>\n\u8fd4\u56de\u503c\uff1aFOPEN\u8fd4\u56de\u4e00\u4e2a\u63a5\u4e0b\u6765\u6211\u4eec\u7684\u7a0b\u5e8f\u5c06\u8981\u4f7f\u7528\u5230\u7684\u6587\u4ef6\u7684\u6307\u9488<\/p>\n<p>FCLOSE<br \/>\n\u529f\u80fd\uff1a\u5173\u95ed\u4e00\u4e2a\u6253\u5f00\u7684\u6587\u4ef6\u3002<br \/>\n\u8bed\u6cd5\uff1aUTL_FILE.FCLOSE (file IN OUT FILE_TYPE);<br \/>\n\u53c2\u6570\uff1a1. file-&gt;\u8c03\u7528FOPEN\u6216\u8005FOPEN_NVCHAR\u8fd4\u56de\u7684\u6d3b\u52a8\u4e2d\u7684\u6587\u4ef6\u6307\u9488\u3002<br \/>\n\u6ce8\u610f\u4e8b\u9879\uff1a\u5f53FCLOSE\u6267\u884c\u7684\u65f6\u5019\uff0c\u5982\u679c\u8fd8\u6709\u7f13\u51b2\u6570\u636e\u6ca1\u6709\u53ca\u65f6\u5199\u5165\u5230\u6587\u4ef6\u4e2d\uff0c<br \/>\n\u90a3\u4e48\u7a0b\u5e8f\u5c31\u4f1araise\u4e00\u4e2a\u5f02\u5e38\uff1aWRITE_ERROR\u3002\u53ef\u4ee5\u5728PUT_LINE\u7684\u65f6\u5019\u52a0\u4e0a\u53c2\u6570autoflush =&gt; TRUE\uff1b\u6216\u8005\u5728\u6bcf\u6b21PUT\u4e4b\u540e\u6267\u884c\uff1aFFLUSH\u3002<\/p>\n<p>FCLOSE_ALL<br \/>\n\u529f\u80fd\uff1a\u6b64procedure\u5c06\u4f1a\u5173\u95ed\u672c\u6b21session\u6240\u6709\u6253\u5f00\u7684\u6587\u4ef6\u3002\u5b83\u7528\u6765\u7d27\u6025\u60c5\u51b5\u7684\u6e05\u7406\u529f\u80fd\uff0c\u4f8b\u5982\u5f53PL\/SQL\u7a0b\u5e8f\u5728EXCEPTION\u90e8\u5206\u9000\u51fa\u65f6\u3002<br \/>\n\u8bed\u6cd5\uff1aUTL_FILE.FCLOSE_ALL;<br \/>\n\u6ce8\u610f\u4e8b\u9879\uff1aFCLOSE_ALL\u4e0d\u4f1a\u4fee\u6539\u6240\u6253\u5f00\u7684\u6587\u4ef6\u7684\u72b6\u6001\uff0c\u4e5f\u5c31\u662f\u8bf4\u6267\u884c\u4e86FCLOSE_ALL\u540e\uff0c\u518d\u7528IS_OPEN\u53bb\u68c0\u6d4b\u6587\u4ef6\uff0c\u7ed3\u679c\u8fd8\u662f\u6253\u5f00\u72b6\u6001\uff0c<br \/>\n\u4f46\u662f\u4e4b\u540e\uff0c\u8fd9\u4e9b\u6587\u4ef6\u4efb\u7136\u662f\u4e0d\u80fd\u53bbread\u6216\u8005write\u7684\u3002\u800cFCLOSE\u6267\u884c\u540e\uff0c\u76f8\u5173\u7684\u6587\u4ef6\u5219\u5b8c\u5168\u5173\u95ed\u4e86<\/p>\n<p>FCOPY<br \/>\n\u529f\u80fd\uff1a\u6b64procedure\u590d\u5236\u4e00\u4e2a\u6587\u4ef6\u7684\u8fde\u7eed\u90e8\u5206\u5185\u5bb9\u6216\u8005\u5168\u90e8\u5185\u5bb9\u5230\u4e00\u4e2a\u65b0\u521b\u5efa\u7684\u6587\u4ef6\u3002<br \/>\n\u5982\u679c\u53c2\u6570start_line\u548cend_line\u7701\u7565\u7684\u8bdd\uff0c\u9ed8\u8ba4\u5730\u4f1a\u590d\u5236\u6574\u4e2a\u6587\u4ef6\u3002\u6b64\u64cd\u4f5c\u4f1a\u5c06\u6e90\u6587\u4ef6\u4ee5read\u6a21\u5f0f\u6253\u5f00\uff0c\u5c06\u76ee\u6807\u6587\u4ef6\u4ee5write\u6a21\u5f0f\u6253\u5f00\u3002<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.FCOPY ( src_location\u00a0\u00a0\u00a0 IN VARCHAR2,<br \/>\nsrc_filename\u00a0 IN VARCHAR2,<br \/>\ndest_location\u00a0 IN VARCHAR2,<br \/>\ndest_filename IN VARCHAR2,<br \/>\nstart_line\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IN BINARY_INTEGER DEFAULT 1,<br \/>\nend_line\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IN BINARY_INTEGER DEFAULT NULL);<br \/>\n\u53c2\u6570\uff1asrc_location\u6765\u6e90\u6587\u4ef6\u7684\u76ee\u5f55\u540d\u3002\u53d6\u503c\u6765\u6e90\u662f\u89c6\u56feALL_DIRECTORIES\u7684DIRECTORY_NAME\uff1b<br \/>\nsrc_filename\u00a0 \u5c06\u8981\u88ab\u590d\u5236\u7684\u6765\u6e90\u6587\u4ef6<br \/>\ndest_location \u88ab\u521b\u5efa\u7684\u76ee\u6807\u6587\u4ef6\u5b58\u653e\u7684\u76ee\u5f55\u540d\u3002<br \/>\ndest_filename \u4ece\u6765\u6e90\u6587\u4ef6\u521b\u5efa\u7684\u76ee\u6807\u6587\u4ef6\u3002<br \/>\nstart_line\u00a0 \u8981\u590d\u5236\u7684\u5185\u5bb9\u8d77\u59cb\u884c\u53f7\uff0c\u9ed8\u8ba4\u4e3a1\uff0c\u8868\u793a\u4ece\u7b2c\u4e00\u884c\u5f00\u59cb\u590d\u5236\u3002<br \/>\nend_line \u8981\u590d\u5236\u7684\u5185\u5bb9\u7684\u7ec8\u6b62\u884c\u53f7\uff0c\u9ed8\u8ba4NULL\uff0c\u8868\u793a\u6587\u4ef6\u7684\u672b\u5c3e\u3002<br \/>\nFFLUSH<br \/>\n\u63cf\u8ff0\uff1aFFLUSH\u5f3a\u5236\u5c06\u7f13\u51b2\u7684\u6570\u636e\u5199\u5165\u6587\u4ef6\u3002\u56e0\u4e3a\u901a\u5e38\u5f85\u5199\u5165\u6587\u4ef6\u7684\u6570\u636e\u90fd\u662f\u90fd\u5728\u7f13\u51b2\u5b58\u50a8\u4f4d\u7f6e\u3002\u5f53\u6709\u5fc5\u8981\u53bbread\u4e00\u4e2a\u4efb\u7136\u5904\u4e8e\u6253\u5f00\u72b6\u6001\u7684\u6587\u4ef6\u65f6\uff0c<br \/>\nFFLUSH\u5c31\u8d77\u4f5c\u7528\u4e86\uff0c\u4f8b\u5982\u5728\u8c03\u8bd5\u7a0b\u5e8f\u4e2d\uff0c\u53ef\u4ee5\u5c06\u8c03\u8bd5\u7684\u6d88\u606f\u53ca\u65f6\u51b2\u5230\u6587\u4ef6\u4e2d\uff0c\u5df2\u4fbf\u4e8e\u6211\u4eec\u9a6c\u4e0a\u5c31\u80fdread\u8fd9\u4e9b\u5185\u5bb9\u3002<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.FFLUSH (file IN FILE_TYPE);<\/p>\n<p>FGETATTR<br \/>\n\u63cf\u8ff0\uff1aFGETATTR\u8bfb\u53d6\u78c1\u76d8\u4e0a\u7684\u6587\u4ef6\u5e76\u8fd4\u56de\u6587\u4ef6\u7684\u5c5e\u6027\u3002<br \/>\n\u8bed\u6cd5\uff1aUTL_FILE.FGETATTR( location IN VARCHAR2,<br \/>\nfilename IN VARCHAR2,<br \/>\nfexists OUT BOOLEAN,<br \/>\nfile_length OUT NUMBER,<br \/>\nblock_size OUT BINARY_INTEGER);<br \/>\n\u53c2\u6570\uff1alocation \u6b64\u5904\u7565\u53bbX\u4e2a\u5b57\u3002<br \/>\nfilename\u6b64\u5904\u7565\u53bbX\u4e2a\u5b57\u3002<br \/>\nfexists \u8fd4\u56de\u7684\u5c5e\u60271\uff1a\u6587\u4ef6\u662f\u5426\u5b58\u5728<br \/>\nfile_length \u8fd4\u56de\u7684\u5c5e\u60272\uff1a\u6587\u4ef6\u5b57\u8282\u957f\u5ea6\uff0c\u5982\u679c\u6587\u4ef6\u4e0d\u5b58\u5728\uff0c\u5219\u8fd4\u56deNULL\u3002<br \/>\nblock_size\u00a0 \u6587\u4ef6\u7cfb\u7edf\u5757\u7684\u5b57\u8282\u5927\u5c0f\u3002<\/p>\n<p>FGETPOS<br \/>\n\u63cf\u8ff0\uff1a\u6b64\u51fd\u6570\u8fd4\u56de\u4e00\u4e2a\u6587\u4ef6\u4e2d\u5f53\u524d\u7684\u504f\u79fb\u4f4d\u7f6e\u3002<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.FGETPOS (file IN FILE_TYPE) RETURN PLS_INTEGER;<br \/>\n\u6ce8\u610f\u4e8b\u9879\uff1a\u5982\u679cfile\u6ca1\u6709\u6253\u5f00\uff0c\u5219\u4f1a\u629b\u51fa\u5f02\u5e38<\/p>\n<p>FREMOVE<br \/>\n\u63cf\u8ff0\uff1a\u6b64procedure\u5728\u4f60\u6709\u5145\u8db3\u7684\u6743\u9650\u4e4b\u4e0b\uff0c\u5220\u9664\u4e00\u4e2a\u78c1\u76d8\u4e0a\u7684\u6587\u4ef6\u3002<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.FREMOVE ( location IN VARCHAR2,<br \/>\nfilename IN VARCHAR2);<\/p>\n<p>FRENAME<br \/>\n\u63cf\u8ff0\uff1a\u6b64procedure\u5c06\u4e00\u4e2a\u5b58\u5728\u7684\u6587\u4ef6\u91cd\u547d\u540d\uff0c\u7c7b\u4f3cunix\u547d\u4ee4\uff1amv<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.FRENAME ( src_location\u00a0\u00a0 IN VARCHAR2,<br \/>\nsrc_filename\u00a0 IN VARCHAR2,<br \/>\ndest_location\u00a0 IN VARCHAR2,<br \/>\ndest_filename IN VARCHAR2,<br \/>\noverwrite\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IN BOOLEAN DEFAULT FALSE);<\/p>\n<p>GET_LINE<br \/>\n\u63cf\u8ff0\uff1a\u6b64procedure\u4ece\u4e00\u4e2a\u6253\u5f00\u7684\u6587\u4ef6\u4e2d\u8bfb\u53d6\u4e00\u884c\u6587\u672c\uff0c\u76f4\u5230\u9047\u5230\u6362\u884c\u7b26\u3002<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.GET_LINE ( file\u00a0\u00a0\u00a0\u00a0 IN FILE_TYPE,<br \/>\nbuffer OUT VARCHAR2,<br \/>\nlen\u00a0\u00a0\u00a0\u00a0\u00a0 IN PLS_INTEGER DEFAULT NULL);<br \/>\n\u53c2\u6570\uff1alen \u4ece\u6587\u672c\u4e2d\u8bfb\u53d6\u4e00\u6b21\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u662fnull\uff0coracle\u5c31\u53d6FOPEN\u65f6\u7684max_linesieze\u3002<\/p>\n<p>IS_OPEN<br \/>\n\u63cf\u8ff0\uff1a\u987e\u540d\u601d\u4e49\u3002<br \/>\n\u8bed\u6cd5\uff1aUTL_FILE.IS_OPEN (file IN FILE_TYPE)\u00a0 RETURN BOOLEAN;<br \/>\n1.PUT<br \/>\n\u63cf\u8ff0\uff1aPUT\u5199\u5165\u5185\u5bb9\u5230\u6587\u4ef6\u4e2d\u3002\uff08\u6bcf\u5199\u4e00\u6b21\uff0c\u4e0d\u5e26\u6362\u884c\u7b26\uff09<br \/>\n\u8bed\u6cd5\uff1aUTL_FILE.PUT (file IN FILE_TYPE, buffer IN VARCHAR2);<\/p>\n<p>PUT_LINE<br \/>\n\u63cf\u8ff0\uff1aPUT_LINE\u5199\u5165\u5185\u5bb9\u5230\u6587\u4ef6\u4e2d\u3002\uff08\u6bcf\u5199\u4e00\u6b21\uff0c\u672b\u5c3e\u90fd\u52a0\u4e00\u4e2a\u6362\u884c\u7b26\uff09<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.PUT_LINE ( file\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IN FILE_TYPE,<br \/>\nbuffer\u00a0\u00a0\u00a0\u00a0\u00a0 IN VARCHAR2,<br \/>\nautoflush IN BOOLEAN DEFAULT FALSE);<br \/>\nPUTF<br \/>\n\u63cf\u8ff0\uff1a\u00a0\u00a0\u00a0 \u5199\u5165\u683c\u5f0f\u5316\u7684\u5185\u5bb9\u5230\u6587\u4ef6\u4e2d\u3002\u597d\u6bd4C\u8bed\u8a00\u7684printf()<br \/>\n\u8bed\u6cd5\uff1a<br \/>\nUTL_FILE.PUTF ( file IN FILE_TYPE,<br \/>\nformat IN VARCHAR2,<br \/>\n[arg1 IN VARCHAR2 DEFAULT NULL,<br \/>\n. . .<br \/>\narg5 IN VARCHAR2 DEFAULT NULL]);<br \/>\n\u53c2\u6570\uff1aformat \u5305\u542b\u683c\u5f0f\u5316\u5b57\u7b26[\\n\uff0c%s]\u7684\u5185\u5bb9\u3002<br \/>\n\\n\uff1a\u4ee3\u8868\u4e00\u4e2a\u6362\u884c\u7b26\u3002<br \/>\n%s\uff1a\u7528arg1~5\u7684\u503c\u53bb\u4ee3\u66ff\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u505a\u4e00\u4e2a\u4f8b\u5b50\u5982\u4e0b\uff1a<\/p>\n<p>CREATE OR REPLACE PROCEDURE SQL_TO_CSV<br \/>\n(<br \/>\nP_QUERY IN VARCHAR2,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8212; PLSQL\u6587<br \/>\nP_DIR IN VARCHAR2,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8212; \u5bfc\u51fa\u7684\u6587\u4ef6\u653e\u7f6e\u76ee\u5f55<br \/>\nP_FILENAME IN VARCHAR2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8212; CSV\u540d<br \/>\n)<br \/>\nIS<br \/>\nL_OUTPUT UTL_FILE.FILE_TYPE;<br \/>\nL_THECURSOR INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;<br \/>\nL_COLUMNVALUE VARCHAR2(4000);<br \/>\nL_STATUS INTEGER;<br \/>\nL_COLCNT NUMBER := 0;<br \/>\nL_SEPARATOR VARCHAR2(1);<br \/>\nL_DESCTBL DBMS_SQL.DESC_TAB;<br \/>\nP_MAX_LINESIZE NUMBER := 32000;<br \/>\nBEGIN<br \/>\n&#8211;OPEN FILE<br \/>\nL_OUTPUT := UTL_FILE.FOPEN(P_DIR, P_FILENAME, &#8216;A&#8217;, P_MAX_LINESIZE);<br \/>\n&#8211;DEFINE DATE FORMAT<br \/>\nEXECUTE IMMEDIATE &#8216;ALTER SESSION SET NLS_DATE_FORMAT=&#8221;YYYY-MM-DD HH24:MI:SS&#8221;&#8217;;<br \/>\n&#8211;OPEN CURSOR<br \/>\nDBMS_SQL.PARSE( L_THECURSOR, P_QUERY, DBMS_SQL.NATIVE );<br \/>\nDBMS_SQL.DESCRIBE_COLUMNS( L_THECURSOR, L_COLCNT, L_DESCTBL );<br \/>\n&#8211;DUMP TABLE COLUMN NAM<br \/>\nFOR I IN 1 .. L_COLCNT LOOP<br \/>\nUTL_FILE.PUT( L_OUTPUT, L_SEPARATOR || &#8216;\u201d&#8217; || L_DESCTBL(I).COL_NAME || &#8216;\u201d&#8217; );<br \/>\nDBMS_SQL.DEFINE_COLUMN( L_THECURSOR, I, L_COLUMNVALUE, 4000 );<br \/>\nL_SEPARATOR := &#8216;,&#8217;;<br \/>\nEND LOOP;<br \/>\nUTL_FILE.NEW_LINE( L_OUTPUT );<br \/>\n&#8211;EXECUTE THE QUERY STATEMENT<br \/>\nL_STATUS := DBMS_SQL.EXECUTE(L_THECURSOR);<br \/>\n&#8211;DUMP TABLE COLUMN VALUE<br \/>\nWHILE ( DBMS_SQL.FETCH_ROWS(L_THECURSOR) &gt; 0 ) LOOP<br \/>\nL_SEPARATOR := &#8221;;<br \/>\nFOR I IN 1 .. L_COLCNT LOOP<br \/>\nDBMS_SQL.COLUMN_VALUE( L_THECURSOR, I, L_COLUMNVALUE );<br \/>\nUTL_FILE.PUT( L_OUTPUT, L_SEPARATOR || &#8216;\u201d&#8217; ||<br \/>\nTRIM(BOTH &#8216; &#8216; FROM REPLACE(L_COLUMNVALUE,&#8217;\u201d&#8217;,&#8217;\u201d\u201d&#8217;)) || &#8216;\u201d&#8217;);<br \/>\nL_SEPARATOR := &#8216;,&#8217;;<br \/>\nEND LOOP;<br \/>\nUTL_FILE.NEW_LINE( L_OUTPUT );<br \/>\nEND LOOP;<br \/>\n&#8211;CLOSE CURSOR<br \/>\nDBMS_SQL.CLOSE_CURSOR(L_THECURSOR);<br \/>\n&#8211;CLOSE FILE<br \/>\nUTL_FILE.FCLOSE( L_OUTPUT );<br \/>\nEXCEPTION<br \/>\nWHEN OTHERS THEN<br \/>\nRAISE;<br \/>\nEND;<br \/>\n\/<\/p>\n<p>&#8212; \u521b\u5efa\u5b58\u653e\u6587\u4ef6\u7684\u76ee\u5f55<br \/>\nCREATE OR REPLACE DIRECTORY MYDIR AS &#8216;C:\\&#8217;;<\/p>\n<p>create table t as select * from dba_users;<\/p>\n<p>&#8212; \u6267\u884c\u5757<br \/>\nbegin<br \/>\nsql_to_csv(&#8216;select * from T &#8216;,&#8217;MYDIR&#8217;,&#8217;EXAMPLE2.CSV&#8217;);<br \/>\ndbms_lock.sleep(10) ;<br \/>\nsql_to_csv(&#8216;select * from T &#8216;,&#8217;MYDIR&#8217;,&#8217;EXAMPLE3.CSV&#8217;);<br \/>\nend;<br \/>\n\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the UTL_FILE package, PL\/SQL programs can read and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[34,2],"class_list":["post-509","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle","tag-oracle_basics"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=509"}],"version-history":[{"count":1,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/509\/revisions"}],"predecessor-version":[{"id":1007,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/509\/revisions\/1007"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=509"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}