<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    【5】設(shè)置輸出內(nèi)容的相關(guān)命令
    1. 將顯示的內(nèi)容輸出到指定文件 
    SQL
    > SPOOL file_name 
    在屏幕上的所有內(nèi)容都包含在該文件中,包括你輸入的sql語句。 

    2. 關(guān)閉spool輸出 
    SQL
    > SPOOL OFF 
    只有關(guān)閉spool輸出,才會(huì)在輸出文件中看到輸出的內(nèi)容。 
    備注:在實(shí)用SPOOL輸出內(nèi)容到本地文件時(shí),需注意編碼格式,否則會(huì)出現(xiàn)亂碼的問題

    3
    .是否顯示用DBMS_OUTPUT.PUT_LINE包進(jìn)行輸出的信息 
    SQL
    > SET SERVEROUT[PUT] {ON|OFF

    4
    .是否在屏幕上顯示輸出的內(nèi)容,主要用與SPOOL結(jié)合使用。 
    SQL
    > SET TERM[OUT] {ON|OFF

    用spool命令將一個(gè)大表中的內(nèi)容輸出到一個(gè)文件中時(shí),將內(nèi)容輸出在屏幕上會(huì)耗費(fèi)大量的時(shí)間。
      設(shè)置set termspool off后,則輸出的內(nèi)容只會(huì)保存在輸出文件中,不會(huì)顯示在屏幕上,極大的提高了spool的速度。 

    備注:和Set serveroutput on不同, 這個(gè)命令用于設(shè)置SQL執(zhí)行結(jié)果是否顯示,前者是用于設(shè)置存儲(chǔ)過程的

    5
    .將SPOOL輸出中每行后面多余的空格去掉 
    SQL
    > SET TRIMS[OUT] {ON|OFF

    6
    .將指定的信息或一個(gè)空行輸出到屏幕上 
    PROMPT 
    [text] 
    備注:該命令在輸出提示、警告信息經(jīng)常使用


    下面我們使用Spool技術(shù)來導(dǎo)出一個(gè)表的數(shù)據(jù),我們要求做到:

    ①導(dǎo)出的過程不在SQL*PLUS屏幕上顯示
    ②導(dǎo)出的文本中不含有執(zhí)行的SQL命令
    ③導(dǎo)出的文本中不含有字段名
    ④導(dǎo)出的文本中使用逗號(hào)(英文)作為字段的分隔符
    ⑤導(dǎo)出的文本中每行長200個(gè)字符
    ⑥導(dǎo)出的文本中每頁999行
    ⑦導(dǎo)出的文本中每行后面的空格必須被截取

    那么下面我們來看一下應(yīng)該如何做到,首先創(chuàng)建一個(gè)用于導(dǎo)出的sql腳本文件,我們將其命名為ExpData.sql,腳本內(nèi)容如下所示:

    set echo off                --關(guān)閉腳本中正在執(zhí)行的SQL語句的顯示
    set feedback off         --關(guān)閉當(dāng)前sql語句查詢或修改的行數(shù)的顯示
    set verify off
    set term off                 --關(guān)閉屏幕上輸出內(nèi)容的顯示
    set trimspool on        --將每行后面多余的空格去掉
    set linesize 200         --設(shè)置每行最多顯示200個(gè)字符
    set pagesize 999       --設(shè)置每頁最多顯示999行記錄
    --
    set newpage none  --設(shè)置頁與頁之間的分隔
    set heading off          --關(guān)閉標(biāo)題的輸出

    spool d:\peng\
    database\oracle\tables.xls
    @d:\peng\database\oracle\get_table.sql
    spool 
    off  --關(guān)閉輸出


    請(qǐng)注意上面的兩個(gè)地方:set部分和spool部分,前者用于設(shè)置導(dǎo)出的文本格式,后者再次執(zhí)行一個(gè)sql腳本:get_table.sql進(jìn)行導(dǎo)出。下面我們?cè)倏戳硪粋€(gè)腳本get_table.sql:

    select id || ',' || name || ',' || remark || ',' || reg_date || ',' || salary from testtable;


    這里我們使用了||','||來為每個(gè)導(dǎo)出字段添加分隔符:,最后是在SQL*PLUS環(huán)境下執(zhí)行上述的導(dǎo)出腳本

    SQL> @d:\peng\database\oracle\ExpData.sql
    SQL
    > 

    注意在這里我們看不到任何的輸出結(jié)果,是因?yàn)槲覀兪褂昧藄et echo off和set term off兩個(gè)選項(xiàng)的結(jié)果。在大數(shù)據(jù)量導(dǎo)出的情況下關(guān)閉屏幕的輸出非常有必要,因?yàn)檫@將大大提高程序執(zhí)行的效率,否則的話會(huì)導(dǎo)致SQL*PLUS不停地刷新屏幕和緩沖區(qū)。

    其實(shí)我們也可以把上述的幾個(gè)選項(xiàng)寫在一塊,比如說現(xiàn)在我們要將導(dǎo)出文件改為htm文件格式,我們可以這樣寫
    set term off verify off feedback off  pagesize 999  heading on
    set markup html on entmap ON spool on preformat off

    spool d:\peng\
    database\oracle\tables.htm
    @d:\peng\database\oracle\get_table.sql
    spool 
    off

    這里我們使用set markup html on來將文件導(dǎo)出成為HTML格式,同時(shí)注意導(dǎo)出文件名的后綴要改為.htm。因?yàn)椴捎昧薍TML表格的形式,所以我們將第二個(gè)腳本稍微修改一下
    select *  from testtable;

    導(dǎo)出的最終結(jié)果如下:
    SQL> @d:\peng\database\oracle\ExpData.sql
    SQL
    &gt; 



    注意在導(dǎo)出完成后SQL*PLUS的提示符變成了SQL&gt;這是因?yàn)槲覀兇蜷_了HTML格式的輸出所致(&gt;),如果我們要恢復(fù)成默認(rèn)的提示符格式,只需要再次執(zhí)行一次:
    set markup html off
    就可以了。


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2008-05-26 23:36 Paul Lin 閱讀(2064) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle SQL/PLSQL
    <2008年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點(diǎn)博客

    好友博客

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产成人精品无码免费看 | 亚洲精品tv久久久久| 日韩中文字幕免费视频| 美女黄频视频大全免费的| 久久丫精品国产亚洲av| 日本亚洲国产一区二区三区| 拨牐拨牐x8免费| 24小时在线免费视频| 你懂的免费在线观看| 一级毛片a免费播放王色电影 | 免费a在线观看播放| 久久国产免费福利永久| 老司机69精品成免费视频| 一级毛片a免费播放王色电影 | 好爽…又高潮了免费毛片| 最近免费视频中文字幕大全| 中文字幕无线码免费人妻| 成年免费大片黄在线观看com| 亚洲国产AV一区二区三区四区| 亚洲男人的天堂在线| 亚洲va在线va天堂va四虎| 亚洲精品无码av人在线观看| 亚洲不卡无码av中文字幕| 国产精品国产自线拍免费软件| 黄页网站在线看免费| 18勿入网站免费永久| 亚州免费一级毛片| 亚洲一级毛片免费观看| 免费观看成人久久网免费观看| a色毛片免费视频| a级日本高清免费看| a毛看片免费观看视频| 成人影片一区免费观看| 91在线免费观看| 爽爽爽爽爽爽爽成人免费观看| 国产真人无码作爱视频免费| 免费无码一区二区三区蜜桃| 久久影视国产亚洲| 亚洲精品无码久久不卡| 国产亚洲一区二区三区在线不卡| 亚洲欧洲精品成人久久奇米网|