最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle中print_table存儲(chǔ)過(guò)程實(shí)例介紹

 更新時(shí)間:2018年09月04日 08:24:31   作者:瀟湘隱者  
存儲(chǔ)過(guò)程(Stored Procedure),就是一組用于完成特定數(shù)據(jù)庫(kù)功能的SQL語(yǔ)句集,該SQL語(yǔ)句集經(jīng)過(guò)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)中。這篇文章主要介紹了oracle中print_table存儲(chǔ)過(guò)程介紹,需要的朋友可以參考下

定義

所謂存儲(chǔ)過(guò)程(Stored Procedure),就是一組用于完成特定數(shù)據(jù)庫(kù)功能的SQL語(yǔ)句集,該SQL語(yǔ)句集經(jīng)過(guò)
編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)中。在使用時(shí)候,用戶(hù)通過(guò)指定已經(jīng)定義的存儲(chǔ)過(guò)程名字并給出相應(yīng)的存儲(chǔ)過(guò)程參數(shù)
來(lái)調(diào)用并執(zhí)行它,從而完成一個(gè)或一系列的數(shù)據(jù)庫(kù)操作。

一直以來(lái),覺(jué)得MySQL中使用\G參數(shù)改變輸出結(jié)果集的顯示方式非常好用,尤其是在命令行界面。但是ORACLE數(shù)據(jù)庫(kù)沒(méi)有這個(gè)功能,今天在搜索到Tom大師的一篇博文時(shí),發(fā)現(xiàn)大師用一個(gè)存儲(chǔ)過(guò)程print_table實(shí)現(xiàn)了類(lèi)似這樣的功能。只是我們這些凡夫俗子不知道而已,特意整理在此,方便自己或有需要的人以后查看。 

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; 
/

如下測(cè)試所示:

SQL> set serveroutput on size 99999;
SQL> execute print_table('select * from v$session where sid=997');
SADDR       : 000000085FA35CA0
SID       : 997
SERIAL#      : 1
AUDSID      : 0
PADDR       : 000000085F6B7E70
USER#       : 0
USERNAME      :
COMMAND      : 0
OWNERID      : 2147483644
TADDR       :
LOCKWAIT      :
STATUS      : ACTIVE
SERVER      : DEDICATED
SCHEMA#      : 0
SCHEMANAME     : SYS
OSUSER      : oracle
PROCESS      : 5036
MACHINE      : xxxx
PORT       : 0
TERMINAL      : UNKNOWN
PROGRAM      : oracle@xxxxx (DBW0)
TYPE       : BACKGROUND
SQL_ADDRESS     : 00
SQL_HASH_VALUE    : 0
SQL_ID      :
SQL_CHILD_NUMBER    : 0
PREV_SQL_ADDR     : 00
PREV_HASH_VALUE    : 0
PREV_SQL_ID     :
PREV_CHILD_NUMBER    : 0
PLSQL_ENTRY_OBJECT_ID   :
PLSQL_ENTRY_SUBPROGRAM_ID  :
PLSQL_OBJECT_ID    :
PLSQL_SUBPROGRAM_ID   :
MODULE      :
MODULE_HASH     : 0
ACTION      :
ACTION_HASH     : 0
CLIENT_INFO     :
FIXED_TABLE_SEQUENCE   : 0
ROW_WAIT_OBJ#     : -1
ROW_WAIT_FILE#    : 0
ROW_WAIT_BLOCK#    : 0
ROW_WAIT_ROW#     : 0
LOGON_TIME     : 04-jul-2018 21:15:52
LAST_CALL_ET     : 5272838
PDML_ENABLED     : NO
FAILOVER_TYPE     : NONE
FAILOVER_METHOD    : NONE
FAILED_OVER     : NO
RESOURCE_CONSUMER_GROUP  :
PDML_STATUS     : DISABLED
PDDL_STATUS     : DISABLED
PQ_STATUS      : DISABLED
CURRENT_QUEUE_DURATION  : 0
CLIENT_IDENTIFIER    :
BLOCKING_SESSION_STATUS  : NO HOLDER
BLOCKING_INSTANCE    :
BLOCKING_SESSION    :
SEQ#       : 34697
EVENT#      : 3
EVENT       : rdbms ipc message
P1TEXT      : timeout
P1       : 300
P1RAW       : 000000000000012C
P2TEXT      :
P2       : 0
P2RAW       : 00
P3TEXT      :
P3       : 0
P3RAW       : 00
WAIT_CLASS_ID     : 2723168908
WAIT_CLASS#     : 6
WAIT_CLASS     : Idle
WAIT_TIME      : 0
SECONDS_IN_WAIT    : 107
STATE       : WAITING
SERVICE_NAME     : SYS$BACKGROUND
SQL_TRACE      : DISABLED
SQL_TRACE_WAITS    : FALSE
SQL_TRACE_BINDS    : FALSE
ECID       :
-----------------
PL/SQL procedure successfully completed.
SQL>

參考資料:

https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1035431863958,%7Bprint_table%7D

總結(jié)

以上所述是小編給大家介紹的oracle中print_table存儲(chǔ)過(guò)程介紹,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • oracle中存儲(chǔ)函數(shù)與存儲(chǔ)過(guò)程的區(qū)別介紹

    oracle中存儲(chǔ)函數(shù)與存儲(chǔ)過(guò)程的區(qū)別介紹

    這篇文章主要介紹了oracle中存儲(chǔ)函數(shù)與存儲(chǔ)過(guò)程的區(qū)別介紹,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-10-10
  • Oracle中PL/SQL的塊與表達(dá)式

    Oracle中PL/SQL的塊與表達(dá)式

    這篇文章介紹了Oracle中PL/SQL的塊與表達(dá)式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Oracle19c最新版保姆級(jí)別最詳細(xì)的安裝配置教程(2023年)

    Oracle19c最新版保姆級(jí)別最詳細(xì)的安裝配置教程(2023年)

    這篇文章主要給大家介紹了關(guān)于Oracle19c最新版保姆級(jí)別安裝配置教程的相關(guān)資料,19c作為原有序列的12c最后一個(gè)版本,可以說(shuō)是集大成的版本,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Oracle數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃的查看與分析技巧

    Oracle數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃的查看與分析技巧

    在 Oracle 數(shù)據(jù)庫(kù)中,執(zhí)行計(jì)劃能夠幫助我們深入了解 SQL 語(yǔ)句在數(shù)據(jù)庫(kù)內(nèi)部的執(zhí)行細(xì)節(jié),進(jìn)而優(yōu)化查詢(xún)性能、提升系統(tǒng)效率,執(zhí)行計(jì)劃是 Oracle 數(shù)據(jù)庫(kù)優(yōu)化器為 SQL 語(yǔ)句生成的一種執(zhí)行藍(lán)圖,本文給大家介紹了Oracle數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃的查看與分析技巧,需要的朋友可以參考下
    2024-12-12
  • SQL優(yōu)化之針對(duì)count、表的連接順序、條件順序、in及exist的優(yōu)化

    SQL優(yōu)化之針對(duì)count、表的連接順序、條件順序、in及exist的優(yōu)化

    這篇文章主要介紹了SQL優(yōu)化之針對(duì)count、表的連接順序、條件順序、in及exist的優(yōu)化,有助于讀者深入理解Oracle的運(yùn)行效率及優(yōu)化策略,需要的朋友可以參考下
    2014-07-07
  • oracle異常(預(yù)定義異常,自定義異常)應(yīng)用介紹

    oracle異常(預(yù)定義異常,自定義異常)應(yīng)用介紹

    在開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)遇到一些測(cè)試,這時(shí)候就會(huì)想了解測(cè)試的過(guò)程,然后再根據(jù)過(guò)程分析代碼錯(cuò)在哪里,這種情況下,就需要用到自定義異常,需要了解的朋友可以參考本文
    2012-11-11
  • 基于ORA-12170 TNS 連接超時(shí)解決辦法詳解

    基于ORA-12170 TNS 連接超時(shí)解決辦法詳解

    本篇文章是對(duì)ORA-12170 TNS 連接超時(shí)的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PLSQLDeveloper登錄遠(yuǎn)程連接Oracle的操作

    PLSQLDeveloper登錄遠(yuǎn)程連接Oracle的操作

    這篇文章主要介紹了PLSQLDeveloper登錄遠(yuǎn)程連接Oracle的操作方法,通過(guò)圖文并茂給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 解決Oracle圖形化安裝過(guò)程中出現(xiàn)的豎線問(wèn)題

    解決Oracle圖形化安裝過(guò)程中出現(xiàn)的豎線問(wèn)題

    這篇文章主要介紹了解決ORACLE圖形化安裝過(guò)程中出現(xiàn)的豎線問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Oracle分頁(yè)查詢(xún)性能優(yōu)化代碼詳解

    Oracle分頁(yè)查詢(xún)性能優(yōu)化代碼詳解

    這篇文章主要介紹了Oracle分頁(yè)查詢(xún)性能優(yōu)化代碼詳解,簡(jiǎn)述了進(jìn)行分頁(yè)查詢(xún)性能優(yōu)化的原因,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09

最新評(píng)論

渝北区| 南岸区| 石台县| 宁陵县| 会同县| 九寨沟县| 古交市| 肃南| 五寨县| 呼玛县| 丰都县| 兴业县| 甘孜县| 江北区| 芜湖市| 如东县| 昆山市| 天峻县| 泸定县| 厦门市| 莱芜市| 咸宁市| 佛冈县| 武隆县| 扬州市| 西藏| 四川省| 五常市| 张掖市| 福贡县| 沾化县| 石柱| 博兴县| 贡觉县| 原平市| 乐安县| 安西县| 开原市| 罗山县| 泾源县| 宣武区|