{"id":263,"date":"2011-12-31T15:36:47","date_gmt":"2011-12-31T07:36:47","guid":{"rendered":"http:\/\/www.royalwzy.com\/?p=263"},"modified":"2014-01-14T21:08:29","modified_gmt":"2014-01-14T13:08:29","slug":"%e5%af%bc%e5%85%a5%e5%af%bc%e5%87%ba%e5%b7%a5%e5%85%b702-sqlloader%e5%b7%a5%e5%85%b7%e4%b8%8e%e5%a4%96%e9%83%a8%e8%a1%a8","status":"publish","type":"post","link":"http:\/\/www.royalwzy.com\/?p=263","title":{"rendered":"\u5bfc\u5165\u5bfc\u51fa\u5de5\u517702&#8211;SQL*Loader\u5de5\u5177\u4e0e\u5916\u90e8\u8868"},"content":{"rendered":"<div>SQL*Loader\u5de5\u5177\u4e0e\u5916\u90e8\u8868<\/p>\n<div>\n<ol>\n<li>SQL*Loader:\n<ol>\n<li>\u6982\u5ff5:\n<ol>\n<li>\u53ef\u4ee5\u5728\u670d\u52a1\u5668\u7aef\u548c\u5ba2\u6237\u7aef\u64cd\u4f5c,\u6570\u636e\u53ef\u4ee5\u5b58\u653e\u5728\u670d\u52a1\u5668\u7aef\u6216\u8005\u5ba2\u6237\u7aef;<\/li>\n<li>\u53ef\u4ee5\u5bfc\u5165\u56fa\u5b9a\u683c\u5f0f\u7684TXT\u6587\u4ef6\u7684\u6570\u636e;<\/li>\n<\/ol>\n<\/li>\n<li>INSERT INTO &#8230; SELECT &#8230;\u7684\u4e24\u79cd\u63d2\u5165\u6570\u636e\u7684\u65b9\u6cd5:\n<ol>\n<li>conventional INSERT\u64cd\u4f5c:\u901a\u7528\u7684\u63d2\u5165\u65b9\u6cd5,\u6570\u636e\u5e93\u4f1a\u4f18\u5148\u91cd\u65b0\u5229\u7528HWM(High Water Mark)\u4ee5\u4e0b\u7684\u6570\u636e\u5757,\u7136\u540e\u518d\u4f7f\u7528HWM\u4ee5\u4e0a\u7684\u6570\u636e\u5757,\u4f7f\u5f97\u65b0\u65e7\u6570\u636e\u4ea4\u53c9\u5b58\u653e,\u540c\u65f6\u8fd8\u8981\u7ef4\u62a4\u6570\u636e\u7684\u5b8c\u6574\u6027(\u4e3b\u5916\u952e,CHECK\u7ea6\u675f\u7b49);<\/li>\n<li>direct-path INSERT\u64cd\u4f5c:\u76f4\u63a5\u8def\u5f84\u63d2\u5165\u65b9\u6cd5,\u6570\u636e\u5e93\u628a\u6570\u636e\u76f4\u63a5\u63d2\u5165\u5230\u9ad8\u6c34\u4f4d\u4e4b\u540e\u7684\u6570\u636e\u5757\u4e2d,\u6570\u636e\u4e0d\u7ecf\u8fc7buffer cache,\u76f4\u63a5\u5199\u5165\u6570\u636e\u6587\u4ef6,\u5ffd\u7565\u6570\u636e\u7684\u5b8c\u6574\u6027,\u4f7f\u5f97\u6027\u80fd\u6700\u5927\u7684\u63d0\u5347;\n<ol>\n<li>\u987a\u5e8f\u63d2\u5165\u5206\u533a\/\u975e\u5206\u533a\u8868:\u53ea\u6709\u4e00\u4e2a\u7ebf\u7a0b\u628a\u6570\u636e\u5199\u5230HWM\u4e4b\u540e;<\/li>\n<li>\u5e76\u884c\u63d2\u5165\u5206\u533a\u8868:\u6bcf\u4e2a\u8fdb\u7a0b\u53ef\u4ee5\u88ab\u5206\u914d\u5230\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5206\u533a,\u4f46\u662f\u4e00\u4e2a\u5206\u533a\u6700\u591a\u53ea\u6709\u4e00\u4e2a\u8fdb\u7a0b\u8d1f\u8d23,\u63a8\u8350\u4f7f\u7528\u8ddf\u5206\u533a\u6570\u91cf\u76f8\u540c\u7684\u5e76\u884c\u5ea6;\u6570\u636e\u540c\u6837\u53ea\u5728\u6bcf\u4e2a\u5206\u533a\u7684HWM\u4e4b\u540e\u7684\u6570\u636e\u5757\u5199\u5165;<\/li>\n<li>\u5e76\u884c\u63d2\u5165\u975e\u5206\u533a\u8868:\u6bcf\u4e2a\u8fdb\u7a0b\u5206\u914d\u4e00\u4e2a\u4e34\u65f6\u7684\u6bb5,\u7136\u540e\u628a\u6240\u6709\u4e34\u65f6\u6bb5\u5408\u5e76;<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Loader\u7684convention-path load\u65b9\u5f0f\u548cdirect-path load\u65b9\u5f0f\u8ddf\u8fd9\u4e2a\u76f8\u4f3c;<\/li>\n<li>\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\/*+ APPEND *\/\u7684hint,\u6765\u4f7f\u7528\u76f4\u63a5\u5bfc\u5165\u6570\u636e,\u4f8b\u5b50;<\/li>\n<li><span style=\"color: #e30000;\">conventional\u65b9\u5f0f\u4f7f\u7528\u4f1a\u4ea7\u751fredo\u65e5\u5fd7,\u800cdirect-path\u65b9\u5f0f\u59cb\u7ec8\u4e0d\u4ea7\u751f\u65e5\u5fd7,\u4e0e\u8868\u672c\u8eab\u662f\u5426\u662fLOGGING\u6a21\u5f0f\u65e0\u5173,\u5982\u679c\u6570\u636e\u5e93\u662fFORCE LOGGING\u6a21\u5f0f,\u5219\u65e0\u8bba\u90a3\u79cd\u65b9\u5f0f\u90fd\u4f1a\u8bb0\u5f55\u65e5\u5fd7<\/span>,\u4f8b\u5b50;<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Loader\u7684\u4ecb\u7ecd;\n<ol>\n<li>Input data files:\u8981\u5bfc\u5165\u7684\u6570\u636e\u6587\u4ef6;\n<ol>\n<li>\u4ee5\u6587\u672c\u5f62\u5f0f\u5b58\u5728;<\/li>\n<li>\u53ef\u4ee5\u6709\u591a\u4e2a\u6570\u636e\u6587\u4ef6;<\/li>\n<li>\u652f\u6301\u4e09\u79cd\u6570\u636e\u683c\u5f0f:\n<ol>\n<li>Fixed-Record Format:\u6bcf\u4e2a\u5217\u6709\u56fa\u5b9a\u7684\u957f\u5ea6,\u6548\u7387\u9ad8\u5355\u7075\u6d3b\u6027\u5dee,\u5982:\u6570\u636e\u6587\u4ef6\u4e2d\u6bcf11\u4e2a\u5b57\u8282\u662f\u4e00\u4e2a\u5b57\u6bb5infile &#8216;example.dat&#8217; &#8220;fix 11&#8221;;<\/li>\n<li>Variable-Record Format:\u6bcf\u4e2a\u5217\u957f\u5ea6\u4e0d\u56fa\u5b9a,\u5728\u6700\u524d\u9762n\u4f4d\u6765\u8bb0\u5f55\u5b83\u7684\u957f\u5ea6,\u5982:\u524d\u4e09\u4e2a\u5b57\u7b26\u8868\u793a\u8bb0\u5f55\u7684\u957f\u5ea6infile &#8216;example.dat&#8217; &#8220;var 3&#8221;;<\/li>\n<li>Stream-Record Format:\u6d41\u8bb0\u5f55,\u4ee5\u67d0\u4e2a\u7b26\u53f7\u533a\u5206\u5217,\u6700\u5e38\u7528\u7684\u65b9\u5f0f;<\/li>\n<\/ol>\n<\/li>\n<li>\u8bb0\u5f55\u7684\u79cd\u7c7b:\n<ol>\n<li>Physical Record:\u5373\u6570\u636e\u6587\u672c\u4e2d\u7684\u4e00\u884c\u8bb0\u5f55;<\/li>\n<li>Logical Record:\u5728\u6570\u636e\u5e93\u4e2d\u8868\u7684\u4e00\u884c\u8bb0\u5f55,\u53ef\u4ee5\u5408\u5e76\u51e0\u884c\u7269\u7406\u8bb0\u5f55\u7ec4\u6210\u4e00\u4e2a\u903b\u8f91\u8bb0\u5f55;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>Loader control file:\u5bfc\u5165\u6570\u636e\u7684\u63a7\u5236\u6587\u4ef6;\n<ol>\n<li>\u6307\u5b9a\u5bfc\u5165\u6570\u636e\u7684\u76ee\u5f55;<\/li>\n<li>\u6570\u636e\u7684\u683c\u5f0f\u5316;<\/li>\n<li>\u914d\u7f6e\u4fe1\u606f:\u5185\u5b58,\u62d2\u7edd\u8bb0\u5f55\u7684\u89c4\u5219,\u5f02\u5e38\u7ec8\u6b62\u540e\u7684\u5904\u7406;<\/li>\n<li>\u5982\u4f55\u64cd\u4f5c\u6570\u636e;<\/li>\n<li>\u6ce8\u91ca\u4f7f\u7528[&#8211;]\u7b26\u53f7;<\/li>\n<li>\u4e0d\u80fd\u4f7f\u7528CONSTANT\u548cZONE\u5173\u952e\u5b57;<\/li>\n<\/ol>\n<\/li>\n<li>Parameter file:\u53ef\u9009,\u53ef\u4ee5\u628asqlldr\u547d\u4ee4\u540e\u9762\u7684\u53c2\u6570\u4fdd\u5b58\u8d77\u6765,\u53ea\u9700\u8981\u6307\u5b9a\u53c2\u6570\u6587\u4ef6\u5373\u53ef;<\/li>\n<li>Discard file:\u53ef\u9009,\u88ab\u629b\u5f03\u7684\u6570\u636e,\u4e0d\u6ee1\u8db3\u8fc7\u6ee4\u5668\u6761\u4ef6\u7684\u8bb0\u5f55;\n<ol>\n<li>\u53ef\u4ee5\u63a7\u5236\u6253\u5f00\u6216\u8005\u5173\u95ed\u6b64\u529f\u80fd;<\/li>\n<li>\u53ef\u4ee5\u5728\u63a7\u5236\u6587\u4ef6\u4e2d\u5b9a\u4e49\u8bb0\u5f55\u9009\u62e9\u7684\u6807\u51c6;<\/li>\n<li>\u53ef\u4ee5\u89c4\u5b9a\u5f53discard file\u4e2d\u8bb0\u5f55\u8d85\u8fc7\u4e00\u5b9a\u6570\u91cf\u7684\u8bdd\u5c31\u7ec8\u6b62;<\/li>\n<\/ol>\n<\/li>\n<li>Bad file:\u53ef\u9009,\u88ab\u62d2\u7edd\u7684\u6570\u636e;\n<ol>\n<li>SQL*Loader\u62d2\u7edd\u7684\u6570\u636e,\u6bd4\u5982\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u4e0d\u5bf9;<\/li>\n<li>Oracle\u6570\u636e\u5e93\u62d2\u7edd\u7684\u6570\u636e,\u6bd4\u5982\u8fdd\u53cd\u7ea6\u675f\u7684\u8bb0\u5f55;<\/li>\n<\/ol>\n<\/li>\n<li>Log file:\u53ef\u9009,\u65e5\u5fd7\u4fe1\u606f,\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u5c31\u4f1a\u751f\u6210\u4ee5.log\u7ed3\u5c3e\u7684\u8ddf\u6570\u636e\u6587\u4ef6\u540c\u540d\u7684\u6587\u4ef6;\n<ol>\n<li>\u5934\u4fe1\u606f;<\/li>\n<li>\u5168\u5c40\u4fe1\u606f;<\/li>\n<li>\u8868\u4fe1\u606f;<\/li>\n<li>\u6570\u636e\u6587\u4ef6\u4fe1\u606f;<\/li>\n<li>\u8868\u52a0\u8f7d\u7684\u4fe1\u606f;<\/li>\n<li>\u7edf\u8ba1\u4fe1\u606f;<\/li>\n<li>\u9644\u52a0\u4fe1\u606f,\u6bd4\u5982\u82b1\u8d39\u7684\u65f6\u95f4\u7b49\u5f85;<\/li>\n<\/ol>\n<\/li>\n<li>\u67b6\u6784\u56fe; \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 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(20).png\" \/><\/li>\n<\/ol>\n<\/li>\n<li>Conventional\u548cDirect-Path Load\u65b9\u6cd5\u7684\u5bf9\u6bd4:\n<ol>\n<li>Conventional Load:\n<ol>\n<li>\u8bfb\u53d6\u4e00\u6761\u8bb0\u5f55,\u89e3\u6790,\u63d2\u5165,\u63d0\u4ea4;<\/li>\n<li>\u603b\u662f\u4f1a\u4ea7\u751fREDO\u65e5\u5fd7;<\/li>\n<li>\u5f3a\u5236\u68c0\u67e5\u6240\u6709\u7ea6\u675f;<\/li>\n<li>\u4f1a\u6fc0\u6d3b\u89e6\u53d1\u5668;<\/li>\n<li>\u53ef\u4ee5\u63d2\u5165\u5230\u7c07\u8868;<\/li>\n<li>\u5176\u5b83\u7528\u6237\u53ef\u4ee5\u4fee\u6539\u8868;<\/li>\n<\/ol>\n<\/li>\n<li>Direct-Path Load:\n<ol>\n<li>\u628a\u8bb0\u5f55\u6784\u9020\u6210\u5757,\u76f4\u63a5\u8fdb\u884c\u5757\u62f7\u8d1d;<\/li>\n<li>\u53ea\u6709\u5728\u6570\u636e\u5e93\u4e3aFORCE LOGGING\u6a21\u5f0f\u4e0b\u624d\u4f1a\u4ea7\u751fREDO\u65e5\u5fd7;<\/li>\n<li>\u53ea\u68c0\u67e5\u4e3b\u952e,\u552f\u4e00\u952e,NOT NULL\u7ea6\u675f;<\/li>\n<li>\u5ffd\u7565\u89e6\u53d1\u5668;<\/li>\n<li>\u4e0d\u80fd\u5bf9\u7c07\u8868\u52a0\u8f7d\u6570\u636e;<\/li>\n<li>\u5176\u5b83\u7528\u6237\u4e0d\u80fd\u4fee\u6539\u8868;<\/li>\n<\/ol>\n<\/li>\n<li>\u53ef\u4ee5\u4f7f\u7528\u5e76\u884c\u64cd\u4f5c\u6765\u52a0\u5feb\u901f\u5ea6,\u4f46\u662f\u9700\u8981\u624b\u52a8\u6307\u5b9a\u5e76\u884c\u5ea6;<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Loader\u7684\u8bed\u6cd5:sqlldr keyword=value,\u547d\u4ee4\u540e\u9762\u662f\u952e\u503c\u5bf9\u7684\u7ec4\u5408;\n<ol>\n<li><span style=\"color: #e30000;\">userid:username\/password;<\/span><\/li>\n<li><span style=\"color: #e30000;\">control:\u63a7\u5236\u6587\u4ef6\u540d\u79f0;<\/span><\/li>\n<li><span style=\"color: #e30000;\">log:\u65e5\u5fd7\u6587\u4ef6\u540d\u79f0;<\/span><\/li>\n<li><span style=\"color: #e30000;\">bad:bad\u6587\u4ef6\u540d\u79f0;<\/span><\/li>\n<li><span style=\"color: #e30000;\">data:\u6570\u636e\u6587\u4ef6\u540d\u79f0;<\/span><\/li>\n<li><span style=\"color: #e30000;\">discard:discard\u6587\u4ef6\u540d\u79f0;<\/span><\/li>\n<li>discardmax:\u5141\u8bb8\u6700\u5927\u7684discard\u7684\u8bb0\u5f55\u6570,\u9ed8\u8ba4\u4e3a\u6240\u6709\u8bb0\u5f55;<\/li>\n<li>skip:\u8df3\u8fc7\u7684\u903b\u8f91\u8bb0\u5f55\u6570,\u9ed8\u8ba4\u4e3a0;<\/li>\n<li>load:\u52a0\u8f7d\u7684\u903b\u8f91\u8bb0\u5f55\u6570,\u9ed8\u8ba4\u4e3a\u6240\u6709\u8bb0\u5f55;<\/li>\n<li>errors:\u5141\u8bb8\u9519\u8bef\u7684\u8bb0\u5f55\u6570,\u9ed8\u8ba4\u4e3a50;<\/li>\n<li>silent:\u4e0d\u63d0\u793aheader\/feedback\/errors\/discards\/partitions\u7b49\u4fe1\u606f,\u9ed8\u8ba4\u4e3aFALSE;<\/li>\n<li><span style=\"color: #e30000;\">direct:\u4f7f\u7528\u76f4\u63a5\u8def\u5f84,\u9ed8\u8ba4\u4e3aFALSE;<\/span><\/li>\n<li><span style=\"color: #e30000;\">multithreading:\u76f4\u63a5\u6570\u636e\u5bfc\u5165\u65f6\u4f7f\u7528\u591a\u7ebf\u7a0b;<\/span><\/li>\n<li><span style=\"color: #e30000;\">parfile:\u4f7f\u7528\u7684\u53c2\u6570\u6587\u4ef6\u7684\u540d\u79f0;<\/span><\/li>\n<li><span style=\"color: #e30000;\">parallel:\u4f7f\u7528\u5e76\u884c\u52a0\u8f7d,\u9ed8\u8ba4\u662fFALSE;<\/span><\/li>\n<li>skip_unusable_indexes:\u8df3\u8fc7unusable\u7684\u7d22\u5f15,\u9ed8\u8ba4\u4e3aFALSE;<\/li>\n<li>skip_index_maintenance:\u4e0d\u7ef4\u62a4\u7d22\u5f15,\u6807\u8bb0\u7d22\u5f15\u4e3aunusable,\u9ed8\u8ba4\u4e3aFALSE;<\/li>\n<li>commit_discontinued:\u5f53\u52a0\u8f7d\u6570\u636e\u7ec8\u6b62\u65f6,\u63d0\u4ea4\u5df2\u7ecf\u52a0\u8f7d\u4e86\u7684\u6570\u636e,\u9ed8\u8ba4\u4e3aFALSE;<\/li>\n<li>streamsize:\u4f7f\u7528\u76f4\u63a5\u8def\u5f84\u52a0\u8f7d\u65f6\u7684\u7f13\u5b58\u533a\u5927\u5c0f,\u9ed8\u8ba4\u662f256000;<\/li>\n<li>external_table:\u4f7f\u7528\u5916\u90e8\u8868\u5bfc\u5165\u6570\u636e;\n<ol>\n<li>NOT_USED:\u4e0d\u4f7f\u7528\u5916\u90e8\u8868;<\/li>\n<li><span style=\"color: #e30000;\">GENERATE_ONLY:\u53ea\u751f\u6210\u5916\u90e8\u8868\u7684\u521b\u5efa\u8bed\u6cd5,\u751f\u6210\u5728log\u6587\u4ef6\u4e2d;<\/span><\/li>\n<li>EXECUTE:\u4f7f\u7528\u5916\u90e8\u8868\u5bfc\u5165\u6570\u636e;<\/li>\n<\/ol>\n<\/li>\n<li>date_cache:\u5bfc\u5165\u6570\u636e\u7684cache\u5927\u5c0f;<\/li>\n<li>_display_exitcode:\u663e\u793asqlloader\u9000\u51fa\u65f6\u7684\u9000\u51fa\u7801;<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Loader\u7684\u9000\u51fa\u7801,\u7528\u5728SHELL\u7f16\u7a0b\u4e2d:\n<ol>\n<li>EX_SUCC(0):\u6240\u6709\u7684\u8bb0\u5f55\u52a0\u8f7d\u6210\u529f;<\/li>\n<li>EX_WARN(2):\u4e00\u4e9b\u8bb0\u5f55\u88ab\u653e\u5230bad file\/discard file\/\u5f02\u5e38\u7ec8\u6b62;<\/li>\n<li>EX_FAIL(1):\u8bed\u6cd5\u9519\u8bef,\u64cd\u4f5c\u9519\u8bef;<\/li>\n<li>\u5982\u679c\u72b6\u6001\u7801\u5927\u4e8e0\u7684\u8bdd,\u5c31\u6709\u95ee\u9898;<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Loader\u7684\u4f8b\u5b50:\n<ol>\n<li>\u57289i\u7684\u6570\u636e\u5e93\u7684$ORACLE_HOME\/rdbms\/demo\/\u76ee\u5f55\u4e0bul*\u768411\u4e2a\u4f8b\u5b50(.ctl\u662f\u63a7\u5236\u6587\u4ef6,.sql\u662f\u4fee\u6539\u8868\u7684\u811a\u672c,.dat\u662f\u6570\u636e,\u5728scott\u7528\u6237\u4e0b\u5b8c\u6210);<\/li>\n<li>EXAMPLE1:\u52a0\u8f7d\u53d8\u957f\u7684\u6570\u636e,\u6570\u636e\u5217\u4e4b\u95f4\u4ee5\u9017\u53f7\u5206\u9694,\u53ef\u80fd\u8fd8\u4ee5\u5f15\u53f7\u5305\u56f4,\u6570\u636e\u548c\u63a7\u5236\u6587\u4ef6\u5728\u4e00\u8d77;<\/li>\n<li>EXAMPLE2:\u52a0\u8f7d\u56fa\u5b9a\u683c\u5f0f\u7684\u6570\u636e,\u6570\u636e\u548c\u63a7\u5236\u6587\u4ef6\u5206\u5f00;<\/li>\n<li>EXAMPLE3:\u52a0\u8f7d\u6709\u5b9a\u754c\u7b26\u7684,\u968f\u610f\u683c\u5f0f\u7684\u6587\u4ef6,\u6570\u636e\u4e0e\u63a7\u5236\u6587\u4ef6\u5728\u4e00\u8d77;<\/li>\n<li>EXAMPLE4:\u52a0\u8f7d\u5408\u5e76\u7684\u7269\u7406\u8bb0\u5f55,\u5408\u5e76\u591a\u4e2a\u7269\u7406\u8bb0\u5f55\u5230\u4e00\u4e2a\u903b\u8f91\u8bb0\u5f55\u4e2d;<\/li>\n<li>EXAMPLE5:\u52a0\u8f7d\u6570\u636e\u5230\u591a\u4e2a\u8868\u4e2d;<\/li>\n<li>EXAMPLE6:\u4f7f\u7528\u76f4\u63a5\u8def\u5f84\u7684\u65b9\u5f0f\u52a0\u8f7d\u6570\u636e;<\/li>\n<li>EXAMPLE7:\u4ece\u4e00\u4e2a\u683c\u5f0f\u5316\u7684\u62a5\u8868\u4e2d\u62bd\u53d6\u6570\u636e\u5e76\u52a0\u8f7d;<\/li>\n<li>EXAMPLE8:\u52a0\u8f7d\u5206\u533a\u8868;<\/li>\n<li>EXAMPLE9:\u52a0\u8f7dCLOB\u5217;<\/li>\n<li>EXAMPLE10:\u52a0\u8f7dREF\u5217\u548cARRAYs\u5217;<\/li>\n<li>EXAMPLE11:\u8f6c\u6362\u5b57\u7b26\u96c6,\u4f7f\u7528Unicode\u7f16\u7801\u52a0\u8f7d\u6570\u636e;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>DIRECTORY\u5bf9\u8c61:\n<ol>\n<li>\u53ea\u6709SYS\u7528\u6237\u53ef\u4ee5\u62e5\u6709DIRECTORY\u5bf9\u8c61,\u4f46\u662f\u5b83\u53ef\u4ee5\u6388\u6743\u5176\u5b83\u7528\u6237\u521b\u5efa\u7684\u6743\u9650;<\/li>\n<li>DIRECTORY\u5bf9\u8c61\u53ea\u662f\u4e00\u4e2a\u6587\u4ef6\u7cfb\u7edf\u76ee\u5f55\u7684\u6620\u5c04\/\u522b\u540d(<span style=\"color: #e30000;\">\u5982\u679coracle\u7528\u6237\u6ca1\u6709\u8fd9\u4e2a\u76ee\u5f55\u7684\u6743\u9650\u600e\u4e48\u529e?<\/span>);<\/li>\n<li>\u5177\u6709DBA\u89d2\u8272\u6216\u8005CREATE ANY\u00a0DIRECTORY\u6743\u9650\u7684\u7528\u6237\u53ef\u4ee5\u521b\u5efaDIRECTORY\u5bf9\u8c61:CREATE DIRECTORY ext_tab_dir AS &#8216;\/u01\/datafiles&#8217;;<\/li>\n<li>\u67e5\u770b\u7cfb\u7edf\u4e2d\u5b58\u5728\u7684DIRECTORY\u5bf9\u8c61:SELECT * FROM dba_directories;<\/li>\n<li>\u521b\u5efa\u8005\/DBA\u53ef\u4ee5\u5bf9\u5176\u5b83\u7528\u6237\/\u89d2\u8272\u6388\u6743:GRANT READ, WRITE ON DIRECTORY ext_tab_dir TO hr;<\/li>\n<li>\u67e5\u770b\u67d0\u4e2aDIRECTORY\u5bf9\u8c61\u7684\u6743\u9650:SELECT * FROM dba_tab_privs WHERE table_name = &#8216;EXT_TAB_DIR&#8217;;<\/li>\n<li>\u521b\u5efa\u8005\u548cDBA\u81ea\u52a8\u5177\u6709RW\u6743\u9650;<\/li>\n<li>\u5220\u9664DIRECTORY\u5bf9\u8c61:DROP DIRECTORY\u00a0ext_tab_dir;<\/li>\n<\/ol>\n<\/li>\n<li>\u5916\u90e8\u8868(External Tables):\n<ol>\n<li>\u5916\u90e8\u8868\u7684\u6982\u5ff5:\n<ol>\n<li>10g\u4e4b\u524d,\u5916\u90e8\u8868\u662f\u53ea\u8bfb\u7684;10g\u4e4b\u540e,\u5916\u90e8\u8868\u53ef\u8bfb\u53ef\u5199;<\/li>\n<li>\u5916\u90e8\u8868\u662f\u5bf9SQL*Loader\u529f\u80fd\u7684\u8865\u5145,\u53ef\u4ee5\u50cf\u8bbf\u95ee\u6570\u636e\u5e93\u4e2d\u8868\u4e00\u6837\u8bbf\u95ee\u6570\u636e\u5e93\u5916\u7684\u8d44\u6e90;<\/li>\n<li>\u53ea\u80fd\u5728\u670d\u52a1\u5668\u7aef\u64cd\u4f5c,\u6570\u636e\u8981\u5b58\u653e\u5728\u670d\u52a1\u5668\u7aef,\u56e0\u4e3a\u9700\u8981\u4f7f\u7528DIRECTORY;<\/li>\n<li>\u53ef\u4ee5\u5bfc\u5165\u56fa\u5b9a\u683c\u5f0f\u7684TXT\u6587\u4ef6\u7684\u6570\u636e;<\/li>\n<li><span style=\"color: #e30000;\">\u5728ETL\u4e2d\u5c3d\u91cf\u591a\u7528\u5916\u90e8\u8868,\u800c\u5c11\u7528SQL*Loader;<\/span><\/li>\n<\/ol>\n<\/li>\n<li>\u521b\u5efa\u5916\u90e8\u8868:\n<ol>\n<li>\u4f7f\u7528CREATE TABLE table_name(&#8230;) ORGANIZATION EXTERNAL\u8bed\u6cd5,\u9700\u8981\u6307\u5b9a\u7684\u5c5e\u6027:\n<ol>\n<li>TYPE:\u6307\u5b9a\u5916\u90e8\u8868\u4f7f\u7528\u7684\u8bbf\u95ee\u5f15\u64ce;\n<ol>\n<li>ORACLE_LOADER:\u9ed8\u8ba4\u503c,\u53ea\u80fd\u8fdb\u884c\u6570\u636e\u52a0\u8f7d\u64cd\u4f5c,\u800c\u4e14\u6570\u636e\u5fc5\u987b\u662f\u6587\u672c\u6587\u4ef6;<\/li>\n<li>ORACLE_DATAPUMP:\u53ef\u4ee5\u8fdb\u884c\u6570\u636e\u52a0\u8f7d\/\u5378\u8f7d\u7684\u64cd\u4f5c,\u6570\u636e\u5fc5\u987b\u662f\u4e8c\u8fdb\u5236\u7684dump\u6587\u4ef6;<\/li>\n<\/ol>\n<\/li>\n<li>DEFAULT DIRECTORY:\u6307\u5b9a\u5916\u90e8\u8868\u6240\u4f7f\u7528\u7684\u9ed8\u8ba4\u76ee\u5f55,\u662f\u4e00\u4e2aDIRECTORY\u5bf9\u8c61,\u800c\u4e0d\u662f\u4e00\u4e2a\u8def\u5f84;<\/li>\n<li>ACCESS PARAMETERS:\u6307\u5b9a\u5916\u90e8\u8868\u6570\u636e\u5bf9\u5e94\u7684\u8868\u4e2d\u7684\u5217\u548c\u67d0\u4e00\u5217\u7684\u683c\u5f0f\u5316\u4fe1\u606f,\u4e0e\u4f7f\u7528\u7684\u5f15\u64ce\u6709\u5173;<\/li>\n<li>LOCATION:\u6307\u5b9a\u5916\u90e8\u8868\u7684\u4f4d\u7f6e,\u662f\u76ee\u5f55\u548c\u6587\u4ef6\u540d\u7684\u7ec4\u5408(directory:file),\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u76ee\u5f55\u5219\u4f7f\u7528\u9ed8\u8ba4\u7684\u76ee\u5f55;<\/li>\n<\/ol>\n<\/li>\n<li>\u521b\u5efa\u7684\u6b65\u9aa4:\n<ol>\n<li>\u521b\u5efaDIRECTORY\u5bf9\u8c61;<\/li>\n<li>\u521b\u5efa\u5916\u90e8\u8868;<\/li>\n<li>\u5176\u5b83\u64cd\u4f5c:\u53ef\u4ee5\u518d\u521b\u5efa\u4e00\u4e2a\u8868,\u7136\u540e\u4f7f\u7528INSERT INTO &#8230; SELECT &#8230;\u8bed\u6cd5\u5bfc\u5165\u6570\u636e;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\u52a0\u8f7d\u548c\u5378\u8f7d\u6570\u636e:\n<ol>\n<li>\u52a0\u8f7d\u6570\u636e:\u628a\u5916\u90e8\u8868\u4e2d\u7684\u6570\u636e\u5bfc\u5165\u5230\u6570\u636e\u5e93\u7684\u8868\u4e2d;<\/li>\n<li>\u5378\u8f7d\u6570\u636e:\u628a\u6570\u636e\u5e93\u8868\u4e2d\u7684\u5185\u5bb9\u5bfc\u5165\u5230\u5916\u90e8\u4e0d\u8868\u4e2d,\u53ea\u80fd\u4f7f\u7528ORACLE_DATAPUMP\u5f15\u64ce;<\/li>\n<\/ol>\n<\/li>\n<li>\u4f7f\u7528\u5916\u90e8\u8868\u65f6\u7684\u6570\u636e\u7c7b\u578b\u8f6c\u6362,LOB\u5b57\u6bb5:CREATE TABLE LONG_TAB_XT (LONG_COL CLOB) ORGANIZATION EXTERNAL&#8230;SELECT\u00a0<span style=\"color: #e30000;\">TO_LOB(LONG_COL)<\/span>\u00a0FROM LONG_TAB;<\/li>\n<li>\u5e76\u884c\u67e5\u8be2\u5916\u90e8\u8868:\n<ol>\n<li>ORACLE_LOADER\u5f15\u64ce:\n<ol>\n<li>\u5982\u679c\u52a0\u8f7d\u6587\u4ef6\u65f6\u987a\u5e8f\u6307\u5b9a\u4e86\u591a\u4e2a\u6587\u4ef6;<\/li>\n<li>\u8bb0\u5f55\u4f7f\u7528VAR\u683c\u5f0f\u5316;<\/li>\n<\/ol>\n<\/li>\n<li>ORACLE_DATAPUMP\u5f15\u64ce:\n<ol>\n<li>\u52a0\u8f7d\u6570\u636e\u65f6:\n<ol>\n<li>\u52a0\u8f7d\u65f6\u4f7f\u7528\u4e86\u591a\u4e2a\u6587\u4ef6;<\/li>\n<li>\u4f7f\u7528\u4e00\u4e2a\u5927\u7684\u6587\u4ef6\u65f6\u4e5f\u4f1a\u5e76\u884c,\u56e0\u4e3a\u4f1a\u8bb0\u5f55\u6587\u4ef6\u8bfb\u53d6\u7684\u504f\u79fb\u91cf;<\/li>\n<\/ol>\n<\/li>\n<li>\u5378\u8f7d\u6570\u636e\u65f6:\n<ol>\n<li>LOCATION\u53c2\u6570\u6307\u5b9a\u591a\u4e2a\u6587\u4ef6\u65f6\u53ef\u4ee5\u53d1\u751f\u5e76\u884c;<\/li>\n<li>\u5982\u679c\u5e76\u884c\u5ea6\u7b49\u4e8e\u6587\u4ef6\u7684\u4e2a\u6570\u7684\u8bdd,\u6bcf\u4e2a\u8fdb\u7a0b\u5199\u4e00\u4e2a\u6587\u4ef6;<\/li>\n<li>\u5982\u679c\u5e76\u884c\u5ea6\u5927\u4e8e\u6587\u4ef6\u7684\u4e2a\u6570\u7684\u8bdd,\u5e76\u884c\u5ea6\u964d\u4f4e\u4e3a\u6587\u4ef6\u7684\u4e2a\u6570;<\/li>\n<li>\u5982\u679c\u5e76\u884c\u5ea6\u5c0f\u4e8e\u6587\u4ef6\u7684\u4e2a\u6570\u7684\u8bdd,\u5916\u90e8\u6587\u4ef6\u5c06\u4e0d\u4f1a\u88ab\u4f7f\u7528;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<li>\u81ea\u5df1\u51b3\u5b9a\u5e76\u884c\u5ea6;<\/li>\n<\/ol>\n<\/li>\n<li>\u5916\u90e8\u8868\u7684\u9650\u5236:\n<ol>\n<li>\u4e0d\u652f\u6301\u52a0\u5bc6\u5217;<\/li>\n<li>\u4e0d\u652f\u6301LONG\u7c7b\u578b\u7684\u5217;<\/li>\n<li>\u7279\u6b8a\u5b57\u7b26\u9700\u8981\u7528\u53cc\u5f15\u53f7\u8f6c\u6362;<\/li>\n<li>\u4e0d\u80fd\u662f\u4e34\u65f6\u8868;<\/li>\n<li>\u4e0d\u80fd\u6dfb\u52a0\u7ea6\u675f;<\/li>\n<\/ol>\n<\/li>\n<li>SQL*Loader\u548c\u5916\u90e8\u8868\u7684\u4e0d\u540c:\n<ol>\n<li>\u5728sql*loader\u4e2d\u53ef\u4ee5\u4f7f\u7528\u53cd\u659c\u6760\u6765\u8f6c\u4e49\u4e00\u4e2a\u5b57\u7b26:FIELDS TERMINATED BY &#8216;,&#8217; OPTIONALLY ENCLOSED BY &#8216;\\&#8221;;<\/li>\n<li>\u5728\u5916\u90e8\u8868\u4e2d\u4f7f\u7528\u53cd\u659c\u6760\u4f1a\u62a5\u9519,\u53ef\u4ee5\u4f7f\u7528\u5f15\u53f7\u6765\u5206\u5272\u5b57\u6bb5:TERMINATED BY &#8216;,&#8217; ENCLOSED BY &#8220;&#8216;&#8221;;<\/li>\n<\/ol>\n<\/li>\n<li>\u5916\u90e8\u8868\u7684\u4f8b\u5b50:\n<ol>\n<li>ORACLE_LOADER\u5f15\u64ce:\u4f7f\u7528\u811a\u672c\u5bfc\u5165\u7684\u4f8b\u5b50;<\/li>\n<li><span style=\"color: #e30000;\">ORACLE_LOADER\u5f15\u64ce:\u4f7f\u7528sql*loader\u751f\u6210\u5916\u90e8\u8868\u811a\u672c\u7684\u4f8b\u5b50;<\/span><\/li>\n<li>ORACLE_DATADUMP\u5f15\u64ce:\u5bfc\u51fa\u6570\u636e\u7684\u4f8b\u5b50;<\/li>\n<li>ORACLE_DATADUMP\u5f15\u64ce:\u5bfc\u5165\u6570\u636e\u7684\u4f8b\u5b50;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Direct-Path INSERT\u7684\u4f8b\u5b50 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>&#8212; \u521b\u5efa\u4e00\u4e2a\u7a7a\u8868;<br \/>\nCREATE TABLE bt AS SELECT * FROM dba_objects WHERE 1 = 0;<br \/>\n&#8212; \u6b63\u5e38\u63d2\u5165\u6570\u636e;<\/div>\n<div>INSERT INTO bt SELECT * FROM dba_objects;<\/div>\n<div>&#8212; \u5728\u63d0\u4ea4\u4e4b\u524d\u5c31\u53ef\u4ee5\u67e5\u8be2\u5230\u8868\u7684\u6570\u91cf;<br \/>\nSELECT COUNT(*) FROM bt;<br \/>\nCOMMIT;<br \/>\n<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(21).png\" width=\"800\" height=\"358\" \/><\/div>\n<div>&#8212; \u4f7f\u7528\u76f4\u63a5\u8def\u5f84\u7684\u65b9\u5f0f;<br \/>\nINSERT\u00a0<span style=\"color: #e30000;\">\/*+ APPEND *\/<\/span>\u00a0INTO bt SELECT * FROM dba_objects;<\/div>\n<div>&#8212; \u63d0\u4ea4\u4e4b\u524d\u67e5\u8be2\u8868\u62a5\u9519,\u4ece\u4e00\u65b9\u9762\u8bf4\u660e\u4e86\u76f4\u63a5\u8def\u5f84\u63d2\u5165;<br \/>\nSELECT COUNT(*) FROM bt;<br \/>\nSELECT COUNT(*) FROM bt<br \/>\n*<br \/>\nERROR at line 1:<br \/>\nORA-12838: cannot read\/modify an object after modifying it in parallel<br \/>\n<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(22).png\" width=\"800\" height=\"254\" \/><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Direct-Path INSERT\u7684\u4f8b\u5b50 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Direct-Path INSERT NOLOGGING\u7684\u4f8b\u5b50 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>&#8212; \u4e00,\u8868\u5904\u4e8eLOGGING\u6a21\u5f0f,\u6570\u636e\u5e93\u4e0d\u662fFORCE LOGGING\u6a21\u5f0f,\u89c2\u5bdf\u51e0\u79cd\u63d2\u5165\u65b9\u5f0f\u4ea7\u751f\u7684\u65e5\u5fd7;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(23).png\" width=\"800\" height=\"292\" \/><\/div>\n<div><\/div>\n<div>&#8212; 1.\u4f20\u7edf\u63d2\u5165,LOGGING\u6a21\u5f0f,\u4f1a\u4ea7\u751f\u65e5\u5fd7;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(24).png\" width=\"803\" height=\"378\" \/><\/div>\n<div><\/div>\n<div>&#8212; 2.\u4f20\u7edf\u63d2\u5165,NOLOGGING\u6a21\u5f0f,\u540c\u6837\u4f1a\u4ea7\u751f\u65e5\u5fd7;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(25).png\" width=\"802\" height=\"398\" \/><\/div>\n<div><\/div>\n<div>&#8212; 3.\u76f4\u63a5\u63d2\u5165,LOGGING\u6a21\u5f0f,\u4e0d\u4f1a\u4ea7\u751f\u65e5\u5fd7;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(26).png\" width=\"801\" height=\"409\" \/><\/div>\n<div><\/div>\n<div>&#8212; 4.\u76f4\u63a5\u63d2\u5165,NOLOGGING\u6a21\u5f0f,\u4e5f\u4e0d\u4f1a\u4ea7\u751f\u65e5\u5fd7;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(27).png\" width=\"801\" height=\"399\" \/><\/div>\n<div><\/div>\n<div>&#8212; \u4e8c,\u8868\u5904\u4e8eNOLOGGING\u6a21\u5f0f,\u6570\u636e\u5e93\u5904\u4e8e\u975eFORCE LOGGING\u6a21\u5f0f:\u4f20\u7edf\u65b9\u5f0f\u90fd\u4f1a\u4ea7\u751f\u65e5\u5fd7,\u76f4\u63a5\u63d2\u5165\u65b9\u5f0f\u90fd\u4e0d\u4ea7\u751f\u65e5\u5fd7;<\/div>\n<div>&#8212; \u4e09,\u6570\u636e\u5e93\u5904\u4e8eFORCE LOGGING\u6a21\u5f0f,\u65e0\u8bba\u8868\u662f\u4ec0\u4e48\u6a21\u5f0f,\u65e0\u8bba\u54ea\u79cd\u65b9\u5f0f\u90fd\u4f1a\u8bb0\u5f55\u65e5\u5fd7;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(28).png\" width=\"799\" height=\"105\" \/><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(29).png\" width=\"800\" height=\"408\" \/><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Direct-Path INSERT NOLOGGING\u7684\u4f8b\u5b50 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- SQL*Loader\u7684\u4f8b\u5b50 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>&#8212; EXAMPLE1:\u52a0\u8f7d\u53d8\u957f\u7684\u6570\u636e,\u6570\u636e\u5217\u4e4b\u95f4\u4ee5\u9017\u53f7\u5206\u9694,\u53ef\u80fd\u8fd8\u4ee5\u5f15\u53f7\u5305\u56f4,\u6570\u636e\u548c\u63a7\u5236\u6587\u4ef6\u5728\u4e00\u8d77;<\/div>\n<div>&#8212; \u521b\u5efa\u6d4b\u8bd5\u8868;<\/div>\n<div>DROP TABLE EMP;<\/div>\n<div>DROP TABLE DEPT;<\/div>\n<div>CREATE TABLE DEPT<br \/>\n(<br \/>\nDEPTNO NUMBER(2) not null,<br \/>\nDNAME\u00a0 VARCHAR2(14),<br \/>\nLOC\u00a0\u00a0\u00a0 VARCHAR2(13)<br \/>\n);<br \/>\nCREATE TABLE EMP<br \/>\n(<br \/>\nEMPNO\u00a0\u00a0\u00a0 NUMBER(4) not null,<br \/>\nENAME\u00a0\u00a0\u00a0 VARCHAR2(10),<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(9),<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(4),<br \/>\nHIREDATE DATE,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nDEPTNO\u00a0\u00a0 NUMBER(2)<br \/>\n);<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6\u548c\u6570\u636e;<\/div>\n<div>LOAD DATA<br \/>\nINFILE *<br \/>\nINTO TABLE DEPT<br \/>\n<span style=\"color: #e30000;\">FIELDS TERMINATED BY &#8216;,&#8217; OPTIONALLY ENCLOSED BY &#8216;&#8221;&#8216;<\/span><br \/>\n(DEPTNO, DNAME, LOC)<br \/>\nBEGINDATA<br \/>\n12,RESEARCH,&#8221;SARATOGA&#8221;<br \/>\n10,&#8221;ACCOUNTING&#8221;,CLEVELAND<br \/>\n11,&#8221;ART&#8221;,SALEM<br \/>\n13,FINANCE,&#8221;BOSTON&#8221;<br \/>\n21,&#8221;SALES&#8221;,PHILA.<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo1.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(30).png\" width=\"787\" height=\"129\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(31).png\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE2:\u52a0\u8f7d\u56fa\u5b9a\u683c\u5f0f\u7684\u6570\u636e,\u6570\u636e\u548c\u63a7\u5236\u6587\u4ef6\u5206\u5f00;<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE &#8216;\/u01\/sqlldrdemo\/demo2.dat&#8217;<br \/>\nINTO TABLE EMP<br \/>\n( EMPNO\u00a0\u00a0\u00a0\u00a0<span style=\"color: #e30000;\">POSITION(01:04)<\/span>\u00a0INTEGER EXTERNAL,<br \/>\nENAME\u00a0\u00a0\u00a0 POSITION(06:15) CHAR,<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(17:25) CHAR,<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(27:30) INTEGER EXTERNAL,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(32:39) DECIMAL EXTERNAL,<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 POSITION(41:48) DECIMAL EXTERNAL,<br \/>\nDEPTNO\u00a0\u00a0 POSITION(50:51) INTEGER EXTERNAL)<\/div>\n<div>&#8212; \u6570\u636e\u6587\u4ef6;<\/div>\n<div>7782 CLARK\u00a0\u00a0\u00a0\u00a0\u00a0 MANAGER\u00a0\u00a0 7839\u00a0 2572.50\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10<br \/>\n7839 KING\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PRESIDENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5500.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10<br \/>\n7934 MILLER\u00a0\u00a0\u00a0\u00a0 CLERK\u00a0\u00a0\u00a0\u00a0 7782\u00a0\u00a0 920.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10<br \/>\n7566 JONES\u00a0\u00a0\u00a0\u00a0\u00a0 MANAGER\u00a0\u00a0 7839\u00a0 3123.75\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 20<br \/>\n7499 ALLEN\u00a0\u00a0\u00a0\u00a0\u00a0 SALESMAN\u00a0 7698\u00a0 1600.00\u00a0\u00a0 300.00 30<br \/>\n7654 MARTIN\u00a0\u00a0\u00a0\u00a0 SALESMAN\u00a0 7698\u00a0 1312.50\u00a0 1400.00 30<br \/>\n7658 CHAN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ANALYST\u00a0\u00a0 7566\u00a0 3450.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 20<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo2.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(32).png\" width=\"786\" height=\"128\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(33).png\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE3:\u52a0\u8f7d\u6709\u5b9a\u754c\u7b26\u7684,\u968f\u610f\u683c\u5f0f\u7684\u6587\u4ef6,\u6570\u636e\u4e0e\u63a7\u5236\u6587\u4ef6\u5728\u4e00\u8d77;<\/div>\n<div>&#8212; \u4fee\u6539\u8868\u7ed3\u6784:alter table emp add (projno number, loadseq number);<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(34).png\" width=\"784\" height=\"264\" \/><\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE *<br \/>\n<span style=\"color: #e30000;\">APPEND<\/span><br \/>\nINTO TABLE EMP<br \/>\nFIELDS TERMINATED BY &#8220;,&#8221; OPTIONALLY ENCLOSED BY &#8216;&#8221;&#8216;<br \/>\n(empno, ename, job, mgr,<br \/>\nhiredate DATE(20) &#8220;DD-Month-YYYY&#8221;,<br \/>\nsal, comm,<br \/>\ndeptno\u00a0\u00a0\u00a0<span style=\"color: #e30000;\">CHAR TERMINATED BY &#8216;:&#8217;<\/span>,<br \/>\nprojno,<br \/>\nloadseq\u00a0\u00a0<span style=\"color: #e30000;\">SEQUENCE(MAX,1)<\/span>)<br \/>\nBEGINDATA<br \/>\n7782, &#8220;Clark&#8221;, &#8220;Manager&#8221;, 7839, 09-June-1981, 2572.50,, 10:101<br \/>\n7839, &#8220;King&#8221;, &#8220;President&#8221;, , 17-November-1981, 5500.00,, 10:102<br \/>\n7934, &#8220;Miller&#8221;, &#8220;Clerk&#8221;, 7782, 23-January-1982, 920.00,, 10:102<br \/>\n7566, &#8220;Jones&#8221;, &#8220;Manager&#8221;, 7839, 02-April-1981, 3123.75,, 20:101<br \/>\n7499, &#8220;Allen&#8221;, &#8220;Salesman&#8221;, 7698, 20-February-1981, 1600.00, 300.00, 30:103<br \/>\n7654, &#8220;Martin&#8221;, &#8220;Salesman&#8221;, 7698, 28-September-1981, 1312.50, 1400.00, 30:103<br \/>\n7658, &#8220;Chan&#8221;, &#8220;Analyst&#8221;, 7566, 03-May-1982, 3450,, 20:101<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo3.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(35).png\" width=\"786\" height=\"129\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(36).png\" width=\"807\" height=\"282\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE4:\u52a0\u8f7d\u5408\u5e76\u7684\u7269\u7406\u8bb0\u5f55,\u5408\u5e76\u591a\u4e2a\u7269\u7406\u8bb0\u5f55\u5230\u4e00\u4e2a\u903b\u8f91\u8bb0\u5f55\u4e2d;<\/div>\n<div>&#8212; \u4fee\u6539\u8868\u7ed3\u6784;<\/div>\n<div>DROP TABLE EMP;<\/div>\n<div>CREATE TABLE EMP<br \/>\n(<br \/>\nEMPNO\u00a0\u00a0\u00a0 NUMBER(4) not null,<br \/>\nENAME\u00a0\u00a0\u00a0 VARCHAR2(10),<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 VARCHAR2(9),<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(4),<br \/>\nHIREDATE DATE,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nDEPTNO\u00a0\u00a0 NUMBER(2)<br \/>\n);<\/div>\n<div>CREATE UNIQUE INDEX UNQ_EMPNO ON EMP(EMPNO);<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE &#8220;\/u01\/sqlldrdemo\/demo4.dat&#8221;<br \/>\nDISCARDFILE &#8220;\/u01\/sqlldrdemo\/demo4.dis&#8221;<br \/>\nDISCARDMAX 999<br \/>\n<span style=\"color: #e30000;\">REPLACE<br \/>\nCONTINUEIF (1) = &#8216;*&#8217;<\/span><br \/>\nINTO TABLE EMP<br \/>\n( EMPNO\u00a0\u00a0\u00a0 POSITION(01:04) INTEGER EXTERNAL,<br \/>\nENAME\u00a0\u00a0\u00a0 POSITION(06:15) CHAR,<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(17:25) CHAR,<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(27:30) INTEGER EXTERNAL,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(32:39) DECIMAL EXTERNAL,<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 POSITION(41:48) DECIMAL EXTERNAL,<br \/>\nDEPTNO\u00a0\u00a0 POSITION(50:51) INTEGER EXTERNAL,<br \/>\nHIREDATE POSITION(52:60) INTEGER EXTERNAL)<\/div>\n<div>&#8212; \u6570\u636e\u6587\u4ef6;<\/div>\n<div>*7782 CLARK\u00a0\u00a0\u00a0\u00a0\u00a0 MA<br \/>\nNAGER\u00a0\u00a0 7839\u00a0 2572.50\u00a0\u00a0 -10\u00a0\u00a0\u00a0 2512-NOV-85<br \/>\n*7839 KING\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PR<br \/>\nESIDENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5500.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2505-APR-83<br \/>\n*7934 MILLER\u00a0\u00a0\u00a0\u00a0 CL<br \/>\nERK\u00a0\u00a0\u00a0\u00a0 7782\u00a0\u00a0 920.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2508-MAY-80<br \/>\n*7566 JONES\u00a0\u00a0\u00a0\u00a0\u00a0 MA<br \/>\nNAGER\u00a0\u00a0 7839\u00a0 3123.75\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2517-JUL-85<br \/>\n*7499 ALLEN\u00a0\u00a0\u00a0\u00a0\u00a0 SA<br \/>\nLESMAN\u00a0 7698\u00a0 1600.00\u00a0\u00a0 300.00 25 3-JUN-84<br \/>\n*7654 MARTIN\u00a0\u00a0\u00a0\u00a0 SA<br \/>\nLESMAN\u00a0 7698\u00a0 1312.50\u00a0 1400.00 2521-DEC-85<br \/>\n*7658 CHAN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AN<br \/>\nALYST\u00a0\u00a0 7566\u00a0 3450.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2516-FEB-84<br \/>\n<span style=\"color: #e30000;\">*\u00a0\u00a0\u00a0\u00a0 CHEN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AN<br \/>\nALYST\u00a0\u00a0 7566\u00a0 3450.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2516-FEB-84<br \/>\n*7658 CHIN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AN<br \/>\nALYST\u00a0\u00a0 7566\u00a0 3450.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2516-FEB-84<\/span><\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo4.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(37).png\" width=\"786\" height=\"132\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(38).png\" \/><\/div>\n<div>&#8212; \u68c0\u67e5\u4e0d\u6ee1\u8db3\u6761\u4ef6\u7684\u8bb0\u5f55;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(39).png\" width=\"783\" height=\"94\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE5:\u52a0\u8f7d\u6570\u636e\u5230\u591a\u4e2a\u8868\u4e2d;<\/div>\n<div>&#8212; \u521b\u5efa\u6d4b\u8bd5\u8868;<\/div>\n<div>DROP TABLE emp;<br \/>\nDROP TABLE proj;<br \/>\nCREATE TABLE EMP<br \/>\n(<br \/>\nEMPNO\u00a0\u00a0\u00a0 NUMBER(4) not null,<br \/>\nENAME\u00a0\u00a0\u00a0 CHAR(10),<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(9),<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(4),<br \/>\nHIREDATE DATE,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nDEPTNO\u00a0\u00a0 NUMBER(2)<br \/>\n);<br \/>\nCREATE UNIQUE INDEX unq_empno ON EMP (EMPNO);<br \/>\nCREATE TABLE PROJ<br \/>\n(<br \/>\nEMPNO\u00a0 NUMBER,<br \/>\nPROJNO NUMBER<br \/>\n);<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE &#8216;\/u01\/sqlldrdemo\/demo5.dat&#8217;<br \/>\nBADFILE &#8216;\/u01\/sqlldrdemo\/demo5.bad&#8217;<br \/>\nDISCARDFILE &#8216;\/u01\/sqlldrdemo\/demo5.dis&#8217;<br \/>\n<span style=\"color: #e30000;\">REPLACE<\/span><br \/>\nINTO TABLE EMP<br \/>\n(EMPNO\u00a0\u00a0\u00a0 POSITION(1:4)\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nENAME\u00a0\u00a0\u00a0 POSITION(6:15)\u00a0 CHAR,<br \/>\nDEPTNO\u00a0\u00a0 POSITION(17:18) CHAR,<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(20:23) INTEGER EXTERNAL)<br \/>\nINTO TABLE PROJ<br \/>\n&#8212; PROJ has two columns, both not null: EMPNO and PROJNO<br \/>\n<span style=\"color: #e30000;\">WHEN PROJNO != &#8216;\u00a0\u00a0 &#8216;<\/span><br \/>\n(EMPNO\u00a0\u00a0\u00a0 POSITION(1:4)\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nPROJNO\u00a0\u00a0 POSITION(25:27) INTEGER EXTERNAL)\u00a0\u00a0 &#8212; 1st proj<br \/>\nINTO TABLE PROJ<br \/>\nWHEN PROJNO != &#8216;\u00a0\u00a0 &#8216;<br \/>\n(EMPNO\u00a0\u00a0\u00a0 POSITION(1:4)\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nPROJNO\u00a0\u00a0 POSITION(29:31) INTEGER EXTERNAL)\u00a0\u00a0 &#8212; 2nd proj<br \/>\nINTO TABLE PROJ<br \/>\nWHEN PROJNO != &#8216;\u00a0\u00a0 &#8216;<br \/>\n(EMPNO\u00a0\u00a0\u00a0 POSITION(1:4)\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nPROJNO\u00a0\u00a0 POSITION(33:35) INTEGER EXTERNAL)\u00a0\u00a0 &#8212; 3rd proj<\/div>\n<div>&#8212; \u6570\u636e\u6587\u4ef6;<\/div>\n<div>1234 BAKER\u00a0\u00a0\u00a0\u00a0\u00a0 10 9999 101 102 103<br \/>\n<span style=\"color: #ff0000;\">1234 JOKER\u00a0\u00a0\u00a0\u00a0\u00a0 10 9999 777 888 999<\/span><br \/>\n<span style=\"color: #e30000;\">2664 YOUNG\u00a0\u00a0\u00a0\u00a0\u00a0 20 2893 425 abc 102<\/span><br \/>\n5321 OTOOLE\u00a0\u00a0\u00a0\u00a0 10 9999 321\u00a0 55\u00a0 40<br \/>\n2134 FARMER\u00a0\u00a0\u00a0\u00a0 20 4555 236 456<br \/>\n2414 LITTLE\u00a0\u00a0\u00a0\u00a0 20 5634 236 456\u00a0 40<br \/>\n6542 LEE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 4532 102 321\u00a0 14<br \/>\n<span style=\"color: #e30000;\">2849 EDDS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xx 4555\u00a0\u00a0\u00a0\u00a0 294\u00a0 40<\/span><br \/>\n4532 PERKINS\u00a0\u00a0\u00a0 10 9999\u00a0 40<br \/>\n1244 HUNT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 11 3452 665 133 456<br \/>\n123 DOOLITTLE\u00a0 12 9940\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 132<br \/>\n1453 MACDONALD\u00a0 25 5532\u00a0\u00a0\u00a0\u00a0 200<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo5.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(40).png\" width=\"787\" height=\"132\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(41).png\" \/><\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(42).png\" \/><\/div>\n<div>&#8212; \u68c0\u67e5\u4e0d\u6ee1\u8db3\u6761\u4ef6\u7684\u8bb0\u5f55;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(43).png\" width=\"785\" height=\"79\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE6:\u4f7f\u7528\u76f4\u63a5\u8def\u5f84\u7684\u65b9\u5f0f\u52a0\u8f7d\u6570\u636e;<\/div>\n<div>&#8212; \u521b\u5efa\u6d4b\u8bd5\u8868;<\/div>\n<div>DROP TABLE emp;<br \/>\nCREATE TABLE EMP<br \/>\n(<br \/>\nEMPNO\u00a0\u00a0\u00a0 NUMBER(4) not null,<br \/>\nENAME\u00a0\u00a0\u00a0 CHAR(10),<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(9),<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(4),<br \/>\nHIREDATE DATE,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nDEPTNO\u00a0\u00a0 NUMBER(2)<br \/>\n)<br \/>\nCREATE UNIQUE INDEX unq_empno ON emp(empno);<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<\/div>\n<div>INFILE &#8216;\/u01\/sqlldrdemo\/demo6.dat&#8217;<br \/>\nREPLACE<\/div>\n<div>INTO TABLE emp<\/div>\n<div>SORTED INDEXES (unq_empno)<br \/>\n(empno position(1:4),<br \/>\nename position(6:15),<br \/>\njob position(17:25),<br \/>\nmgr position(27:30) nullif mgr=blanks,<br \/>\nsal position(32:39) nullif sal=blanks,<br \/>\ncomm position(41:48) nullif comm=blanks,<br \/>\ndeptno position(50:51) nullif empno=blanks)<\/div>\n<div>&#8212; \u6570\u636e\u6587\u4ef6;<\/div>\n<div>7566 JONES\u00a0\u00a0\u00a0\u00a0\u00a0 MANAGER\u00a0\u00a0 7839\u00a0 3123.75\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 20<br \/>\n7654 MARTIN\u00a0\u00a0\u00a0\u00a0 SALESMAN\u00a0 7698\u00a0 1312.50\u00a0 1400.00 30<br \/>\n7658 CHAN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ANALYST\u00a0\u00a0 7566\u00a0 3450.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 20<br \/>\n7782 CLARK\u00a0\u00a0\u00a0\u00a0\u00a0 MANAGER\u00a0\u00a0 7839\u00a0 2572.50\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10<br \/>\n7839 KING\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PRESIDENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5500.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10<br \/>\n7934 MILLER\u00a0\u00a0\u00a0\u00a0 CLERK\u00a0\u00a0\u00a0\u00a0 7782\u00a0\u00a0 920.00\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo6.ctl direct=y;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(44).png\" width=\"785\" height=\"165\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(45).png\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE7:\u4ece\u4e00\u4e2a\u683c\u5f0f\u5316\u7684\u62a5\u8868\u4e2d\u62bd\u53d6\u6570\u636e\u5e76\u52a0\u8f7d;<\/div>\n<div>&#8212; \u521b\u5efa\u6d4b\u8bd5\u8868;<\/div>\n<div>CREATE TABLE EMP<br \/>\n(<br \/>\nEMPNO\u00a0\u00a0\u00a0 NUMBER(4) not null,<br \/>\nENAME\u00a0\u00a0\u00a0 CHAR(10),<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(9),<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(4),<br \/>\nHIREDATE DATE,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nDEPTNO\u00a0\u00a0 NUMBER(2)<br \/>\n);<br \/>\nCREATE UNIQUE INDEX UNQ_EMPNO on EMP (EMPNO);<\/div>\n<div>&#8212; \u6dfb\u52a0\u89e6\u53d1\u5668,\u8fd9\u4e00\u6b65\u662f\u5173\u952e;<\/div>\n<div>CREATE OR REPLACE PACKAGE sqlloader AS<br \/>\nlast_deptno\u00a0 NUMBER;<br \/>\nlast_job\u00a0\u00a0\u00a0\u00a0 CHAR(9);<br \/>\nlast_mgr\u00a0\u00a0\u00a0\u00a0 NUMBER;<br \/>\nEND sqlloader;CREATE OR REPLACE TRIGGER sqlloader_emp_insert<br \/>\nBEFORE INSERT ON emp<br \/>\nFOR EACH ROW<br \/>\nBEGIN<br \/>\nIF :new.deptno IS NOT NULL THEN<br \/>\nsqlloader.last_deptno := :new.deptno;\u00a0\u00a0 &#8212; save value for later use<br \/>\nELSE<br \/>\n:new.deptno := sqlloader.last_deptno;\u00a0\u00a0 &#8212; use last valid value<br \/>\nEND IF;<br \/>\nIF :new.job IS NOT NULL THEN<br \/>\nsqlloader.last_job := :new.job;\u00a0\u00a0 &#8212; save value for later use<br \/>\nELSE<br \/>\n:new.job := sqlloader.last_job;\u00a0\u00a0 &#8212; use last valid value<br \/>\nEND IF;<br \/>\nIF :new.mgr IS NOT NULL THEN<br \/>\nsqlloader.last_mgr := :new.mgr;\u00a0\u00a0 &#8212; save value for later use<br \/>\nELSE<br \/>\n:new.mgr := sqlloader.last_mgr;\u00a0\u00a0 &#8212; use last valid value<br \/>\nEND IF;<br \/>\nEND sqlloader_emp_insert;<\/p>\n<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE &#8216;\/u01\/sqlldrdemo\/demo7.dat&#8217;<\/div>\n<div>DISCARDFILE &#8216;\/u01\/sqlldrdemo\/demo7.dis&#8217;<\/div>\n<div>APPEND<br \/>\nINTO TABLE emp<br \/>\nWHEN (57)=&#8217;.&#8217;<br \/>\nTRAILING NULLCOLS<br \/>\n(hiredate SYSDATE,<br \/>\ndeptno\u00a0\u00a0 POSITION(1:2)\u00a0 INTEGER EXTERNAL(3)<br \/>\nNULLIF deptno=BLANKS,<br \/>\njob\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(7:14)\u00a0\u00a0 CHAR\u00a0 TERMINATED BY WHITESPACE<br \/>\nNULLIF job=BLANKS\u00a0 &#8220;UPPER(:job)&#8221;,<br \/>\nmgr\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(28:31)\u00a0 INTEGER EXTERNAL TERMINATED BY WHITESPACE<br \/>\nNULLIF mgr=BLANKS,<br \/>\nename\u00a0\u00a0\u00a0 POSITION (34:41) CHAR\u00a0 TERMINATED BY WHITESPACE<br \/>\n&#8220;UPPER(:ename)&#8221;,<br \/>\nempno\u00a0\u00a0\u00a0 INTEGER EXTERNAL\u00a0 TERMINATED BY WHITESPACE,<br \/>\nsal\u00a0\u00a0\u00a0\u00a0\u00a0 POSITION(51)\u00a0 CHAR\u00a0 TERMINATED BY WHITESPACE<br \/>\n&#8220;TO_NUMBER(:sal,&#8217;$99,999.99&#8242;)&#8221;,<br \/>\ncomm\u00a0\u00a0\u00a0\u00a0 INTEGER EXTERNAL\u00a0 ENCLOSED BY &#8216;(&#8216; AND &#8216;%&#8217;<br \/>\n&#8220;:comm * 100&#8221;<br \/>\n)<\/div>\n<div>&#8212; \u6570\u636e\u6587\u4ef6;<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Today&#8217;s Newly Hired EmployeesDept\u00a0 Job\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Manager\u00a0\u00a0 MgrNo\u00a0 Emp Name\u00a0 EmpNo\u00a0 Salary\/Commission<br \/>\n&#8212;-\u00a0 &#8212;&#8212;&#8211;\u00a0 &#8212;&#8212;&#8211;\u00a0 &#8212;&#8211;\u00a0 &#8212;&#8212;&#8211;\u00a0 &#8212;&#8211;\u00a0 &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n20\u00a0\u00a0\u00a0 Salesman\u00a0 Blake\u00a0\u00a0\u00a0\u00a0\u00a0 7698\u00a0 Shepard\u00a0\u00a0\u00a0 8061\u00a0 $1,600.00 (3%)<br \/>\nFalstaff\u00a0\u00a0 8066\u00a0 $1,250.00 (5%)<br \/>\nMajor\u00a0\u00a0\u00a0\u00a0\u00a0 8064\u00a0 $1,250.00 (14%)<\/p>\n<p>30\u00a0\u00a0\u00a0 Clerk\u00a0\u00a0\u00a0\u00a0 Scott\u00a0\u00a0\u00a0\u00a0\u00a0 7788\u00a0 Conrad\u00a0\u00a0\u00a0\u00a0 8062\u00a0 $1,100.00<br \/>\nFord\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7369\u00a0 DeSilva\u00a0\u00a0\u00a0 8063\u00a0\u00a0\u00a0 $800.00<br \/>\nManager\u00a0\u00a0 King\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7839\u00a0 Provo\u00a0\u00a0\u00a0\u00a0\u00a0 8065\u00a0 $2,975.00<\/p>\n<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo7.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(46).png\" width=\"789\" height=\"164\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(47).png\" \/><br \/>\n&#8212; \u67e5\u770b\u4e0d\u6ee1\u8db3\u7684\u8bb0\u5f55;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(48).png\" width=\"782\" height=\"109\" \/><\/div>\n<div>&#8212; EXAMPLE8:\u52a0\u8f7d\u5206\u533a\u8868;<\/div>\n<div>&#8212; \u521b\u5efa\u6d4b\u8bd5\u8868;<\/div>\n<div>CREATE TABLE LINEITEM<br \/>\n(<br \/>\nL_ORDERKEY\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_PARTKEY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_SUPPKEY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_LINENUMBER\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_QUANTITY\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_EXTENDEDPRICE NUMBER,<br \/>\nL_DISCOUNT\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_TAX\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER,<br \/>\nL_RETURNFLAG\u00a0\u00a0\u00a0 CHAR(1),<br \/>\nL_LINESTATUS\u00a0\u00a0\u00a0 CHAR(1),<br \/>\nL_SHIPDATE\u00a0\u00a0\u00a0\u00a0\u00a0 DATE,<br \/>\nL_COMMITDATE\u00a0\u00a0\u00a0 DATE,<br \/>\nL_RECEIPTDATE\u00a0\u00a0 DATE,<br \/>\nL_SHIPINSTRUCT\u00a0 CHAR(17),<br \/>\nL_SHIPMODE\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(7),<br \/>\nL_COMMENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(43)<br \/>\n)<br \/>\nPARTITION by RANGE (L_SHIPDATE)<br \/>\n(<br \/>\nPARTITION SHIP_Q1 VALUES LESS THAN (TO_DATE(&#8216;1996-04-01 00:00:00&#8217;, &#8216;YYYY-MM-DD HH24:MI:SS&#8217;)),<br \/>\nPARTITION SHIP_Q2 VALUES LESS THAN (TO_DATE(&#8216;1996-07-01 00:00:00&#8217;, &#8216;YYYY-MM-DD HH24:MI:SS&#8217;)),<br \/>\nPARTITION SHIP_Q3 VALUES LESS THAN (TO_DATE(&#8216;1996-10-01 00:00:00&#8217;, &#8216;YYYY-MM-DD HH24:MI:SS&#8217;)),<br \/>\nPARTITION SHIP_Q4 VALUES LESS THAN (TO_DATE(&#8216;1997-01-01 00:00:00&#8217;, &#8216;YYYY-MM-DD HH24:MI:SS&#8217;))<br \/>\n);<\/div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE &#8216;\/u01\/sqlldrdemo\/demo8.dat&#8217; &#8220;fix 129&#8221;<\/div>\n<div>BADFILE &#8216;\/u01\/sqlldrdemo\/demo8.bad&#8217;<\/div>\n<div><span style=\"color: #e30000;\">TRUNCATE<\/span><br \/>\nINTO TABLE lineitem<br \/>\n<span style=\"color: #e30000;\">PARTITION (ship_q1)<\/span><br \/>\n(l_orderkey\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0\u00a0\u00a0 (1:6) char,<br \/>\nl_partkey\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0\u00a0 (7:11) char,<br \/>\nl_suppkey\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0 (12:15) char,<br \/>\nl_linenumber\u00a0\u00a0\u00a0 position\u00a0 (16:16) char,<br \/>\nl_quantity\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0 (17:18) char,<br \/>\nl_extendedprice position\u00a0 (19:26) char,<br \/>\nl_discount\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0 (27:29) char,<br \/>\nl_tax\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0 (30:32) char,<br \/>\nl_returnflag\u00a0\u00a0\u00a0 position\u00a0 (33:33) char,<br \/>\nl_linestatus\u00a0\u00a0\u00a0 position\u00a0 (34:34) char,<br \/>\nl_shipdate\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0 (35:43) char,<br \/>\nl_commitdate\u00a0\u00a0\u00a0 position\u00a0 (44:52) char,<br \/>\nl_receiptdate\u00a0\u00a0 position\u00a0 (53:61) char,<br \/>\nl_shipinstruct\u00a0 position\u00a0 (62:78) char,<br \/>\nl_shipmode\u00a0\u00a0\u00a0\u00a0\u00a0 position\u00a0 (79:85) char,<br \/>\nl_comment\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 position (86:128) char)<\/div>\n<div>&#8212; \u6570\u636e\u6587\u4ef6;<\/div>\n<div>\u00a0 \u00a0 \u00a01 151978511724386.60 7.04.0NO09-SEP-6412-FEB-9622-MAR-96DELIVER IN PERSON<br \/>\nTRUCK\u00a0 iPBw4mMm7w7kQ zNPL i261OPP<br \/>\n1 2731 73223658958.28.09.06NO12-FEB-9628-FEB-9620-APR-96TAKE BACK RETURN<br \/>\nMAIL\u00a0\u00a0 5wM04SNyl0AnghCP2nx lAi<br \/>\n1 3370 3713 810210.96 .1.02NO29-MAR-9605-MAR-9631-JAN-96TAKE BACK RETURN<br \/>\nREG AIRSQC2C 5PNCy4mM<br \/>\n1 5214 46542831197.88.09.06NO21-APR-9630-MAR-9616-MAY-96NONE<br \/>\nAIR\u00a0\u00a0\u00a0 Om0L65CSAwSj5k6k<br \/>\n1 6564\u00a0 6763246897.92.07.02NO30-MAY-9607-FEB-9603-FEB-96DELIVER IN PERSON<br \/>\nMAIL\u00a0\u00a0 CB0SnyOL PQ32B70wB75k 6Aw10m0wh<br \/>\n1 7403 160524 31329.6 .1.04NO30-JUN-9614-MAR-9601 APR-96NONE<br \/>\nFOB\u00a0\u00a0\u00a0 C2gOQj OB6RLk1BS15 igN<br \/>\n2 8819 82012441659.44\u00a0 0.08NO05-AUG-9609-FEB-9711-MAR-97COLLECT COD<br \/>\nAIR\u00a0\u00a0\u00a0 O52M70MRgRNnmm476mNm<br \/>\n3 9451 721230 41113.5.05.01AF05-SEP-9629-DEC-9318-FEB-94TAKE BACK RETURN<br \/>\nFOB\u00a0\u00a0\u00a0 6wQnO0Llg6y<br \/>\n3 9717\u00a0 1834440788.44.07.03RF09-NOV-9623-DEC-9315-FEB-94TAKE BACK RETURN<br \/>\nSHIP\u00a0\u00a0 LhiA7wygz0k4g4zRhMLBAM<br \/>\n3 9844 1955 6 8066.64.04.01RF28-DEC-9615-DEC-9314-FEB-94TAKE BACK RETURN<br \/>\nREG AIR6nmBmjQkgiCyzCQBkxPPOx5j4hB 0lRywgniP1297<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo8.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(49).png\" width=\"786\" height=\"133\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(50).png\" width=\"992\" height=\"76\" \/><\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE9:\u52a0\u8f7dCLOB\u5217,\u4e3a\u6bcf\u4e2aCLOB\u5217\u51c6\u5907\u4e00\u4e2a\u6587\u672c\u6587\u4ef6;<\/div>\n<div>&#8212; \u521b\u5efa\u6d4b\u8bd5\u8868;<\/div>\n<div>CREATE TABLE EMP<br \/>\n(<br \/>\nEMPNO\u00a0\u00a0\u00a0 NUMBER(4) not null,<br \/>\nENAME\u00a0\u00a0\u00a0 CHAR(10),<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(9),<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(4),<br \/>\nHIREDATE DATE,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 NUMBER(7,2),<br \/>\nDEPTNO\u00a0\u00a0 NUMBER(2),<br \/>\n<span style=\"color: #e30000;\">\u00a0 RESUME\u00a0\u00a0 CLOB<\/span><br \/>\n)<\/div>\n<div>\n<div>&#8212; \u63a7\u5236\u6587\u4ef6;<\/div>\n<div>LOAD DATA<br \/>\nINFILE *<br \/>\nINTO TABLE EMP<br \/>\nREPLACE<br \/>\nFIELDS TERMINATED BY &#8216;,&#8217;<br \/>\n( EMPNO\u00a0\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nENAME\u00a0\u00a0\u00a0 CHAR,<br \/>\nJOB\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR,<br \/>\nMGR\u00a0\u00a0\u00a0\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nSAL\u00a0\u00a0\u00a0\u00a0\u00a0 DECIMAL EXTERNAL,<br \/>\nCOMM\u00a0\u00a0\u00a0\u00a0 DECIMAL EXTERNAL,<br \/>\nDEPTNO\u00a0\u00a0 INTEGER EXTERNAL,<br \/>\nRES_FILE FILLER CHAR,<br \/>\n<span style=\"color: #e30000;\">\u00a0 &#8220;RESUME&#8221; LOBFILE (RES_FILE) TERMINATED BY EOF NULLIF RES_FILE = &#8216;NONE&#8217;<\/span><br \/>\n)<br \/>\nBEGINDATA<br \/>\n7782,CLARK,MANAGER,7839,2572.50,,10,<span style=\"color: #e30000;\">\/u01\/sqlldrdemo\/demo91.dat<\/span><br \/>\n7839,KING,PRESIDENT,,5500.00,,10,\/u01\/sqlldrdemo\/demo92.dat<\/div>\n<div>7934,MILLER,CLERK,7782,920.00,,10,\/u01\/sqlldrdemo\/demo93.dat<\/div>\n<div>7566,JONES,MANAGER,7839,3123.75,,20,\/u01\/sqlldrdemo\/demo94.dat<\/div>\n<div>7499,ALLEN,SALESMAN,7698,1600.00,300.00,30,\/u01\/sqlldrdemo\/demo95.dat<\/div>\n<div>7654,MARTIN,SALESMAN,7698,1312.50,1400.00,30,\/u01\/sqlldrdemo\/demo96.dat<\/div>\n<div>7658,CHAN,ANALYST,7566,3450.00,,20,NONE<\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e:sqlldr scott\/tiger control=\/u01\/sqlldrdemo\/demo9.ctl;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(51).png\" width=\"783\" height=\"134\" \/><\/div>\n<div>&#8212; \u9a8c\u8bc1\u6570\u636e;<\/div>\n<p><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(52).png\" \/><\/p>\n<\/div>\n<div><\/div>\n<div>&#8212; EXAMPLE10:\u52a0\u8f7dREF\u5217\u548cARRAYs\u5217;<\/div>\n<div>&#8212; EXAMPLE11:\u8f6c\u6362\u5b57\u7b26\u96c6,\u4f7f\u7528Unicode\u7f16\u7801\u52a0\u8f7d\u6570\u636e;<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- SQL*Loader\u7684\u4f8b\u5b50 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- \u5916\u90e8\u8868 ORACLE_LOADER\u5f15\u64ce\u7684\u4f8b\u5b50\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n&#8212; \u624b\u52a8\u7f16\u5199\u5916\u90e8\u8868\u8bed\u6cd5;<\/div>\n<div>1.\u521b\u5efaDIRECTORY\u5bf9\u8c61;<\/div>\n<div>CREATE DIRECTORY ext_tab_dir AS &#8216;\/u01\/datafiles&#8217;;<br \/>\nSELECT * FROM dba_directories WHERE directory_name = &#8216;EXT_TAB_DIR&#8217;;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(53).png\" \/><\/div>\n<div>2.\u5bf9\u7528\u6237\u6388\u6743;<\/div>\n<div>GRANT READ, WRITE ON DIRECTORY ext_tab_dir TO hr;<br \/>\nSELECT * FROM dba_tab_privs WHERE table_name = &#8216;EXT_TAB_DIR&#8217;;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(54).png\" \/><\/div>\n<div>3.\u6d4b\u8bd5\u6570\u636e\/u01\/datafiles\/emp.dat;<\/div>\n<div>&#8220;56&#8221;,\u00a0\u00a0 &#8220;baker&#8221;,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8220;mary&#8221;, &#8220;f&#8221;,\u00a0\u00a0\u00a0 &#8220;01-09-2004&#8221;, &#8220;15-11-1980&#8221;<br \/>\n&#8220;87&#8221;,\u00a0\u00a0 &#8220;roper&#8221;,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8220;lisa&#8221;, &#8220;m&#8221;,\u00a0\u00a0\u00a0 &#8220;01-06-1999&#8221;, &#8220;20-12-1970&#8221;<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(55).png\" width=\"805\" height=\"58\" \/><\/div>\n<div>4.\u521b\u5efa\u5916\u90e8\u8868;<\/div>\n<div>CREATE TABLE ext_tab_emp<br \/>\n(<br \/>\nID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 INTEGER,<br \/>\nfirst_name\u00a0\u00a0\u00a0 VARCHAR2(20),<br \/>\nlast_name\u00a0\u00a0\u00a0\u00a0 VARCHAR2(20),<br \/>\nmale\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(1),<br \/>\nbirthday\u00a0\u00a0\u00a0\u00a0\u00a0 DATE,<br \/>\nhire_date\u00a0\u00a0\u00a0\u00a0 DATE<br \/>\n)<br \/>\nORGANIZATION EXTERNAL<br \/>\n(<br \/>\nTYPE ORACLE_LOADER<br \/>\nDEFAULT DIRECTORY ext_tab_dir<br \/>\nACCESS PARAMETERS<br \/>\n(<br \/>\nRECORDS DELIMITED BY NEWLINE<br \/>\nBADFILE &#8216;EXT_TAB_DIR&#8217;:&#8217;emp.bad&#8217;<br \/>\nDISCARDFILE &#8216;EXT_TAB_DIR&#8217;:&#8217;emp.dis&#8217;<br \/>\nLOGFILE &#8216;EXT_TAB_DIR&#8217;:&#8217;emp.log&#8217;<br \/>\n<span style=\"color: #e30000;\">FIELDS TERMINATED BY &#8220;,&#8221; OPTIONALLY ENCLOSED BY &#8216;&#8221;&#8216;<\/span>\u00a0LDRTRIM<br \/>\nREJECT ROWS WITH ALL NULL FIELDS<br \/>\n(<br \/>\nID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(20) TERMINATED BY &#8220;,&#8221; OPTIONALLY ENCLOSED BY &#8216;&#8221;&#8216;,<br \/>\nfirst_name\u00a0\u00a0\u00a0 CHAR(20),<br \/>\nlast_name\u00a0\u00a0\u00a0\u00a0 CHAR(20),<br \/>\nmale\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(1),<br \/>\nbirthday\u00a0\u00a0\u00a0\u00a0\u00a0 CHAR(20) date_format DATE mask &#8220;DD-MM-YYYY&#8221;,<br \/>\nhire_date\u00a0\u00a0\u00a0\u00a0 CHAR(20) date_format DATE mask &#8220;DD-MM-YYYY&#8221;<br \/>\n)<br \/>\n)<br \/>\nLOCATION (&#8217;emp.dat&#8217;, &#8217;emp1.dat&#8217;)<br \/>\n)\u00a0<span style=\"color: #e30000;\">PARALLEL 2<\/span>;<br \/>\n5.\u67e5\u770b\u6570\u636e;<\/div>\n<div>SELECT * FROM ext_tab_emp;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(56).png\" \/><\/div>\n<div>6.\u67e5\u770b\u65e5\u5fd7\u53d1\u73b0,\u5982\u679c\u4f7f\u7528\u5e76\u884c\u7684\u8bdd\u4f1a\u6709\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u5de5\u4f5c,\u63d0\u9ad8\u6548\u7387;<\/div>\n<div><\/div>\n<div>&#8212; \u4f7f\u7528SQL*LOADER\u5de5\u5177\u751f\u6210\u521b\u5efa\u5916\u90e8\u8868\u7684\u8bed\u6cd5;<\/div>\n<div>1.\u6d4b\u8bd5\u6570\u636e\/u01\/datafiles\/car.dat;<\/div>\n<div>Talbot,8\/18,4,01-MAR-1923,ohv,8,295.00<br \/>\nTalbot,10\/23,4,12-MAR-1923,ohv,8.9,375.00<br \/>\nTalbot,12\/30,6,23-JAN-1924,ohv,13.4,550.00<br \/>\nSunbeam,14\/40,4,06-MAR-1924,ohv,13.9,895.00<br \/>\nSunbeam,12\/30,4,08-FEB-1924,ohv,11.5,570.00<br \/>\nSunbeam,20\/60,6,24-FEB-1924,ohv,20.9,950.00<br \/>\nSunbeam,Twin Cam,6,11-MAR-1926,ohv,20.9,1125.00<br \/>\nSunbeam,20,6,15-JUN-1927,ohv,20.9,750.00<br \/>\nSunbeam,16,6,10-SEP-1927,ohv,16.9,550.00<br \/>\nPeugeot,172,4,28-SEP-1928,sv,6.4,165.00<br \/>\nAustin,7,4,29-JAN-1922,sv,7.2,225.00<br \/>\nAustin,12,4,01-JAN-1922,sv,12.8,550.00<br \/>\nAustin,20,4,04-JAN-1916,sv,22.4,616.00<br \/>\nLanchester,40,6,08-JAN-1919,ohv,38.4,1875.00<br \/>\nLanchester,21,6,16-JAN-1924,ohv,20.6,950.00<br \/>\nVauxhall,30\/98,4,18-JAN-1919,sv,23.8,1475.00<br \/>\nVauxhall,23\/60,4,27-JAN-1919,sv,22.4,1300.00<\/div>\n<div>2.hr\u7528\u6237\u4e0b\u7684\u8868\u7ed3\u6784;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(57).png\" \/><\/div>\n<div>3.\u63a7\u5236\u6587\u4ef6\/u01\/datafiles\/car.ctl;<\/div>\n<div>LOAD DATA<br \/>\nINFILE &#8216;\/u01\/datafiles\/car.dat&#8217;<br \/>\nBADFILE &#8216;\/u01\/datafiles\/car.bad&#8217;<br \/>\nDISCARDFILE &#8216;\/u01\/datafiles\/car.dsc&#8217;<br \/>\nAPPEND<br \/>\nINTO TABLE car<br \/>\nFIELDS TERMINATED BY &#8220;,&#8221;<br \/>\nTRAILING NULLCOLS<br \/>\n(maker,<br \/>\nmodel,<br \/>\nno_cyl,<br \/>\nfirst_built_date,<br \/>\nengine,<br \/>\nhp,<br \/>\nprice)<\/div>\n<div>4.\u751f\u6210\u521b\u5efa\u5916\u90e8\u8868\u7684\u811a\u672c;<\/div>\n<div>sqlldr hr\/hr control=\/u01\/datafiles\/car.ctl\u00a0<span style=\"color: #e30000;\">external_table=GENERATE_ONLY;<\/span><\/div>\n<div>5.\u9002\u5f53\u4fee\u6539\u5373\u53ef;<\/div>\n<div>conn hr\/hr<br \/>\nCREATE TABLE car_ext<br \/>\n(<br \/>\n&#8220;MAKER&#8221; VARCHAR2(20),<br \/>\n&#8220;MODEL&#8221; VARCHAR2(20),<br \/>\n&#8220;NO_CYL&#8221; NUMBER,<br \/>\n&#8220;FIRST_BUILT_DATE&#8221; DATE,<br \/>\n&#8220;ENGINE&#8221; VARCHAR2(20),<br \/>\n&#8220;HP&#8221; NUMBER(10,1),<br \/>\n&#8220;PRICE&#8221; NUMBER(10,2)<br \/>\n)<br \/>\nORGANIZATION external<br \/>\n(<br \/>\nTYPE oracle_loader<br \/>\nDEFAULT DIRECTORY\u00a0<span style=\"color: #e30000;\">EXT_TAB_DIR &#8212; \u5fc5\u987b\u5927\u5199<\/span><\/div>\n<div>\u00a0 ACCESS PARAMETERS<br \/>\n(<br \/>\nRECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII<br \/>\nBADFILE &#8216;EXT_TAB_DIR&#8217;:&#8217;car.bad&#8217;<\/div>\n<div>\u00a0\u00a0\u00a0 DISCARDFILE &#8216;EXT_TAB_DIR&#8217;:&#8217;car.dsc&#8217;<\/div>\n<div>\u00a0\u00a0\u00a0 LOGFILE &#8216;EXT_TAB_DIR&#8217;:&#8217;car.log&#8217;<\/div>\n<div>\u00a0\u00a0\u00a0 READSIZE 1048576<br \/>\nFIELDS TERMINATED BY &#8220;,&#8221; LDRTRIM<br \/>\nMISSING FIELD VALUES ARE NULL<br \/>\nREJECT ROWS WITH ALL NULL FIELDS<br \/>\n(<br \/>\n&#8220;MAKER&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;,<br \/>\n&#8220;MODEL&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;,<br \/>\n&#8220;NO_CYL&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;,<br \/>\n&#8220;FIRST_BUILT_DATE&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;,<br \/>\n&#8220;ENGINE&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;,<br \/>\n&#8220;HP&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;,<br \/>\n&#8220;PRICE&#8221; CHAR(255)\u00a0TERMINATED BY &#8220;,&#8221;<br \/>\n)<br \/>\n)<br \/>\nlocation<br \/>\n(<br \/>\n&#8216;car.dat&#8217;<br \/>\n)<br \/>\n)REJECT LIMIT UNLIMITED;<\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- \u5916\u90e8\u8868 ORACLE_LOADER\u5f15\u64ce\u7684\u4f8b\u5b50\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- \u5916\u90e8\u8868 ORACLE_DATAPUMP\u5f15\u64ce\u7684\u4f8b\u5b50\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<div>&#8212; \u5378\u8f7d\u6570\u636e;<\/div>\n<div>1.\u76ee\u6807:\u5378\u8f7d\u6267\u884c\u67e5\u8be2\u7ed3\u679c\u96c6\u7684\u6570\u636e,\u5e76\u521b\u5efa\u5916\u90e8\u8868;<\/div>\n<div>conn hr\/hr;<\/div>\n<div>SELECT e.first_name, e.last_name, e.email, e.phone_number, d.department_name FROM EMPLOYEES e INNER JOIN DEPARTMENTS d ON e.department_id = d.department_id;<\/div>\n<div>2.\u521b\u5efa\u76ee\u5f55\u5e76\u6388\u6743;<\/div>\n<div>CREATE DIRECTORY\u00a0EXT_TAB_DIR AS &#8216;\/u01\/datafiles&#8217;;<\/div>\n<div>GRANT READ, WRITE ON DIRECTORY\u00a0EXT_TAB_DIR\u00a0TO hr;<\/div>\n<div>3.\u628a\u6570\u636e\u5bfc\u51fa\u4e3aEMP_DEPT.dmp\u6587\u4ef6,\u521b\u5efa\u5916\u90e8\u8868;<\/div>\n<div>conn hr\/hr;<\/div>\n<div>CREATE TABLE emp_dept_ext<br \/>\nORGANIZATION EXTERNAL<br \/>\n(<br \/>\n<span style=\"color: #e30000;\">TYPE ORACLE_DATAPUMP<\/span><br \/>\nDEFAULT DIRECTORY EXT_TAB_DIR\u00a0LOCATION (&#8216;EMP_DEPT.dmp&#8217;)<\/div>\n<div>)<br \/>\nAS<\/div>\n<div>SELECT e.first_name, e.last_name, e.email, e.phone_number, d.department_name FROM EMPLOYEES e INNER JOIN DEPARTMENTS d ON e.department_id = d.department_id;<\/div>\n<div><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(58).png\" \/><\/div>\n<div><\/div>\n<div>&#8212; \u5bfc\u5165\u6570\u636e;<\/div>\n<div>\u76ee\u6807:\u628a\u5bfc\u51fa\u7684\u6570\u636e\u5bfc\u5165\u5230hr\u7528\u6237\u4e0bt1\u8868\u4e2d;<\/div>\n<div>conn hr\/hr;<\/div>\n<div><span style=\"font-family: monospace;\">CREATE TABLE t1<br \/>\n(<br \/>\nFIRST_NAME VARCHAR2(20),<br \/>\nLAST_NAME VARCHAR2(25),<br \/>\nEMAIL VARCHAR2(25),<br \/>\nPHONE_NUMBER VARCHAR2(20),<br \/>\nDEPARTMENT_NAME VARCHAR2(30)<br \/>\n)<br \/>\nORGANIZATION EXTERNAL<br \/>\n(<br \/>\n<span style=\"color: #e30000;\">TYPE ORACLE_DATAPUMP<\/span><br \/>\nDEFAULT DIRECTORY EXT_TAB_DIR<br \/>\nLOCATION (&#8216;<\/span>EMP_DEPT.dmp&#8217;)<\/div>\n<div><span style=\"font-family: monospace;\">);<\/span><\/div>\n<div><span style=\"font-family: monospace;\"><img decoding=\"async\" alt=\"\" src=\"file:\/\/\/C:\/TEMP\/enhtmlclip\/Image(59).png\" \/><\/span><\/div>\n<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- \u5916\u90e8\u8868 ORACLE_DATAPUMP\u5f15\u64ce\u7684\u4f8b\u5b50\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SQL*Loader\u5de5\u5177\u4e0e\u5916\u90e8\u8868 SQL*Loader: \u6982\u5ff5: \u53ef\u4ee5\u5728\u670d\u52a1\u5668\u7aef\u548c\u5ba2\u6237\u7aef\u64cd\u4f5c,\u6570\u636e\u53ef\u4ee5\u5b58\u653e\u5728\u670d [&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":[7,34],"class_list":["post-263","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-dw","tag-oracle"],"_links":{"self":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/263","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=263"}],"version-history":[{"count":0,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=\/wp\/v2\/posts\/263\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.royalwzy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}