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

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

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

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    ??? 想把報表的某一行數據直排得打印出來,發現ask tom上面已經有現成的代碼了,貼出來看一下,寫得真好,適用性極強
    ?
    ?
    create or replace procedure print_table( p_query in varchar2 )
    AUTHID CURRENT_USER
    is
    ??? l_theCursor???? integer default dbms_sql.open_cursor;
    ??? l_columnValue?? varchar2(4000);
    ??? l_status??????? integer;
    ??? l_descTbl?????? dbms_sql.desc_tab;
    ??? l_colCnt??????? number;
    begin
    ??? execute immediate
    ??? 'alter session set
    ??????? nls_date_format=''dd-mon-yyyy hh24:mi:ss'' ';
    ?
    ??? dbms_sql.parse(? l_theCursor,? p_query, dbms_sql.native );
    ??? dbms_sql.describe_columns
    ??? ( l_theCursor, l_colCnt, l_descTbl );
    ?
    ??? for i in 1 .. l_colCnt loop
    ??????? dbms_sql.define_column
    ??????? (l_theCursor, i, l_columnValue, 4000);
    ??? end loop;
    ?
    ??? l_status := dbms_sql.execute(l_theCursor);
    ?
    ??? while ( dbms_sql.fetch_rows(l_theCursor) > 0 ) loop
    ??????? for i in 1 .. l_colCnt loop
    ??????????? dbms_sql.column_value
    ??????????? ( l_theCursor, i, l_columnValue );
    ??????????? dbms_output.put_line
    ??????????? ( rpad( l_descTbl(i).col_name, 30 )
    ????????????? || ': ' ||
    ????????????? l_columnValue );
    ??????? end loop;
    ??????? dbms_output.put_line( '-----------------' );
    ??? end loop;
    ??? execute immediate
    ??????? 'alter session set nls_date_format=''dd-MON-rr'' ';
    exception
    ??? when others then
    ????? execute immediate
    ????????? 'alter session set nls_date_format=''dd-MON-rr'' ';
    ????? raise;
    end;

    ?
    ??? 執行結果:
    ?
    SQL> exec print_table('select * from v$database');
    ?
    DBID????????????????????????? : 485689964
    NAME????????????????????????? : DODO
    CREATED?????????????????????? : 19-jan-2009 15:10:30
    RESETLOGS_CHANGE#???????????? : 1
    RESETLOGS_TIME??????????????? : 19-jan-2009 14:35:24
    PRIOR_RESETLOGS_CHANGE#?????? : 0
    PRIOR_RESETLOGS_TIME????????? :
    LOG_MODE????????????????????? : ARCHIVELOG
    CHECKPOINT_CHANGE#??????????? : 234242
    ARCHIVE_CHANGE#?????????????? : 125009
    CONTROLFILE_TYPE????????????? : CURRENT
    CONTROLFILE_CREATED?????????? : 19-jan-2009 15:10:30
    CONTROLFILE_SEQUENCE#???????? : 210
    CONTROLFILE_CHANGE#?????????? : 234242
    CONTROLFILE_TIME????????????? : 23-feb-2009 10:04:50
    OPEN_RESETLOGS??????????????? : NOT ALLOWED
    VERSION_TIME????????????????? : 19-jan-2009 15:10:30
    OPEN_MODE???????????????????? : READ WRITE
    PROTECTION_MODE?????????????? : MAXIMUM PERFORMANCE
    PROTECTION_LEVEL????????????? : MAXIMUM PERFORMANCE
    REMOTE_ARCHIVE??????????????? : ENABLED
    ACTIVATION#?????????????????? : 485692838
    DATABASE_ROLE???????????????? : PRIMARY
    ARCHIVELOG_CHANGE#??????????? : 222873
    SWITCHOVER_STATUS???????????? : SESSIONS ACTIVE
    DATAGUARD_BROKER????????????? : DISABLED
    GUARD_STATUS????????????????? : NONE
    SUPPLEMENTAL_LOG_DATA_MIN???? : NO
    SUPPLEMENTAL_LOG_DATA_PK????? : NO
    SUPPLEMENTAL_LOG_DATA_UI????? : NO
    FORCE_LOGGING???????????????? : NO
    -----------------
    ?
    PL/SQL procedure successfully completed
    ?
    ?
    ??? 主要用DBMS_SQL代替了自己寫動態SQL和各種操作的復雜性,真是一個DBMS_SQL包使用的典范教程,保存一下。




    -The End-

    posted on 2009-01-23 23:06 decode360-3 閱讀(335) 評論(1)  編輯  收藏 所屬分類: SQL Dev

    評論

    # re: Print_Table[未登錄] 2010-07-07 23:37 gary
    我的博客里貼得逗號,空格號都被中文化了.,還是google好啊. 馬上找到print_table了.  回復  更多評論
      

    主站蜘蛛池模板: 亚洲国语在线视频手机在线| 国产成人精品日本亚洲专区61 | h视频在线免费看| 久久精品国产亚洲av麻| 最好免费观看高清在线 | 亚洲成网777777国产精品| 色多多免费视频观看区一区| 日韩视频免费一区二区三区| 日韩亚洲翔田千里在线| 亚洲VA综合VA国产产VA中| 一区二区在线视频免费观看| 国外亚洲成AV人片在线观看| 久久久久久久99精品免费| 亚洲欧洲免费视频| 91精品国产免费久久国语蜜臀 | 无码专区—VA亚洲V天堂| 国产精品无码一区二区三区免费| 亚洲小视频在线观看| 日韩成人精品日本亚洲| 嫩草在线视频www免费观看| 最新精品亚洲成a人在线观看| 一级做a爱过程免费视| 国产亚洲av片在线观看播放| 91老湿机福利免费体验| 亚洲午夜久久久久久久久久| 久久久受www免费人成| 羞羞视频网站免费入口| 人人狠狠综合久久亚洲88| 日韩精品无码一区二区三区免费| 亚洲人成亚洲精品| 在线播放高清国语自产拍免费 | 无码中文在线二区免费| 久久亚洲色WWW成人欧美| 在线亚洲精品自拍| 波多野结衣免费在线观看| 国产精品亚洲av色欲三区| 亚洲综合图色40p| 免费A级毛片无码免费视| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 9i9精品国产免费久久| 亚洲乱人伦精品图片|