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

Oracle中實(shí)現(xiàn)MySQL show index from table命令SQL腳本分享

 更新時(shí)間:2014年10月30日 11:01:06   投稿:junjie  
這篇文章主要介紹了Oracle中實(shí)現(xiàn)MySQL show index from table命令SQL腳本分享,本文只是模擬了Mysql中的show index from table命令,需要的朋友可以參考下

實(shí)驗(yàn)數(shù)據(jù)初始化:

復(fù)制代碼 代碼如下:

create table t as select * from hr.employees;
create index inx_t1 on t(employee_id,first_name desc,last_name);
create index inx_t2 on t(job_id,hire_date);

顯示該表所有索引的信息。

以dba登錄

復(fù)制代碼 代碼如下:

set linesize 300;
set pagesize 100;
col c1 format a20;
col c2 format a20;
col c3 format a20;
col c4 format a20;
col c5 format a20;
col INDEX_NAME format a20;
select INDEX_NAME,
max(decode(COLUMN_POSITION,1,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c1,
max(decode(COLUMN_POSITION,2,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c2,
max(decode(COLUMN_POSITION,3,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c3,
max(decode(COLUMN_POSITION,4,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c4,
max(decode(COLUMN_POSITION,5,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c5
from (
select INDEX_NAME,COLUMN_NAME,COLUMN_LENGTH,COLUMN_POSITION,DESCEND
from dba_ind_columns
where table_owner='LIHUILIN'
AND table_name='T'
order by INDEX_NAME,column_position
) group by INDEX_NAME;

以普通用戶登錄

復(fù)制代碼 代碼如下:

set linesize 300;
set pagesize 100;
col c1 format a20;
col c2 format a20;
col c3 format a20;
col c4 format a20;
col c5 format a20;
col INDEX_NAME format a20;
select INDEX_NAME,
max(decode(COLUMN_POSITION,1,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c1,
max(decode(COLUMN_POSITION,2,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c2,
max(decode(COLUMN_POSITION,3,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c3,
max(decode(COLUMN_POSITION,4,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c4,
max(decode(COLUMN_POSITION,5,COLUMN_NAME||','||COLUMN_LENGTH||','||DESCEND,null)) c5
from (
select INDEX_NAME,COLUMN_NAME,COLUMN_LENGTH,COLUMN_POSITION,DESCEND
from user_ind_columns
where table_name='T'
order by INDEX_NAME,column_position
) group by INDEX_NAME;

但是可以看到,以倒序創(chuàng)建的索引字段,都是以SYS等命名。

Oracle把這種倒序創(chuàng)建的索引字段看成函數(shù)索引。

它的信息保存在user_ind_expressions視圖。

user_ind_expressions視圖的COLUMN_EXPRESSION字段類型是long型。

王工的版本可以解決這個(gè)問題

復(fù)制代碼 代碼如下:

CREATE OR REPLACE FUNCTION long_2_varchar (
   p_index_name IN user_ind_expressions.index_name%TYPE,
   p_table_name IN user_ind_expressions.table_name%TYPE,
   p_COLUMN_POSITION IN user_ind_expressions.table_name%TYPE)
   RETURN VARCHAR2
AS
   l_COLUMN_EXPRESSION LONG;
BEGIN
   SELECT COLUMN_EXPRESSION
     INTO l_COLUMN_EXPRESSION
     FROM user_ind_expressions
    WHERE index_name = p_index_name
          AND table_name = p_table_name
          AND COLUMN_POSITION = p_COLUMN_POSITION;

   RETURN SUBSTR (l_COLUMN_EXPRESSION, 1, 4000);
END;
/


復(fù)制代碼 代碼如下:

set linesize 300;
set pagesize 100;
col c1 format a20;
col c2 format a20;
col c3 format a20;
col c4 format a20;
col c5 format a20;
col INDEX_NAME format a20;
SELECT INDEX_NAME,
         MAX (DECODE (COLUMN_POSITION, 1, COLUMN_NAME || ' ' || DESCEND, NULL))
            c1,
         MAX (DECODE (COLUMN_POSITION, 2, COLUMN_NAME || ' ' || DESCEND, NULL))
            c2,
         MAX (DECODE (COLUMN_POSITION, 3, COLUMN_NAME || ' ' || DESCEND, NULL))
            c3,
         MAX (DECODE (COLUMN_POSITION, 4, COLUMN_NAME || ' ' || DESCEND, NULL))
            c4,
         MAX (DECODE (COLUMN_POSITION, 5, COLUMN_NAME || ' ' || DESCEND, NULL))
            c5
    FROM ( SELECT a.INDEX_NAME,
                   REPLACE (
                      DECODE (
                         descend,
                         'DESC', long_2_varchar (b.index_name,
                                                 b.table_NAME,
                                                 b.COLUMN_POSITION),
                         a.column_name),
                      '"',
                      '')
                      COLUMN_NAME,
                   a.COLUMN_LENGTH,
                   a.COLUMN_POSITION,
                   DESCEND
              FROM user_ind_columns a
                   LEFT JOIN
                   user_ind_expressions b
                      ON a.index_name = b.index_name
                         AND a.table_name = b.table_name
             WHERE a.table_name = 'T'
          ORDER BY INDEX_NAME, column_position)
GROUP BY INDEX_NAME;


相關(guān)文章

  • Oracle學(xué)習(xí)筆記(六)

    Oracle學(xué)習(xí)筆記(六)

    最近需要用的oracle,所以大家好好的學(xué)習(xí)下基礎(chǔ)并整理下資料,希望能幫助到需要的朋友。
    2011-12-12
  • oracle索引總結(jié)

    oracle索引總結(jié)

    這篇文章要給大家介紹的是oracle索引,索引是數(shù)據(jù)庫對(duì)象之一,用于加快數(shù)據(jù)的檢索,類似于書籍的索引。在數(shù)據(jù)庫中索引可以減少數(shù)據(jù)庫程序查詢結(jié)果時(shí)需要讀取的數(shù)據(jù)量,類似于在書籍中我們利用索引可以不用翻閱整本書即可找到想要的信息。 感興趣的小伙伴可參考一下
    2021-09-09
  • Oracle數(shù)據(jù)庫表空間超詳細(xì)介紹

    Oracle數(shù)據(jù)庫表空間超詳細(xì)介紹

    Oracle數(shù)據(jù)庫的數(shù)據(jù)存放在表空間中,表空間是一個(gè)邏輯的概念,它是由數(shù)據(jù)文件組成,表空間大小由數(shù)據(jù)文件的數(shù)量和大小決定,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫表空間的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Oracle開發(fā)之報(bào)表函數(shù)

    Oracle開發(fā)之報(bào)表函數(shù)

    本文主要介紹Oracle報(bào)表函數(shù)RATIO_TO_REPORT的具體使用方法,需要的朋友可以參考下。
    2016-05-05
  • Oracle11g簡單安裝和使用教程

    Oracle11g簡單安裝和使用教程

    這篇文章主要為大家詳細(xì)介紹了Oracle11g簡單安裝和使用教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 使用Oracle進(jìn)行數(shù)據(jù)庫備份與還原

    使用Oracle進(jìn)行數(shù)據(jù)庫備份與還原

    這篇文章詳細(xì)介紹了使用Oracle進(jìn)行數(shù)據(jù)庫備份與還原,本文通過示例代碼講解的非常詳細(xì),有一定的參考價(jià)值,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令解析

    oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令解析

    這篇文章主要介紹了oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令解析,小編覺得還是比較不錯(cuò)的,需要的朋友可以參考下。
    2017-10-10
  • Oracle 高速批量數(shù)據(jù)加載工具sql*loader使用說明

    Oracle 高速批量數(shù)據(jù)加載工具sql*loader使用說明

    SQL*Loader(SQLLDR)是Oracle的高速批量數(shù)據(jù)加載工具,這是一個(gè)非常有用的工具,可用于多種平面文件格式向Oralce數(shù)據(jù)庫中加載數(shù)據(jù)
    2012-12-12
  • Oracle數(shù)據(jù)庫url連接最后一個(gè)orcl代表的是配置的數(shù)據(jù)庫SID

    Oracle數(shù)據(jù)庫url連接最后一個(gè)orcl代表的是配置的數(shù)據(jù)庫SID

    今天小編就為大家分享一篇關(guān)于Oracle數(shù)據(jù)庫url連接最后一個(gè)orcl代表的是配置的數(shù)據(jù)庫SID,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Oracle數(shù)據(jù)庫下載及安裝圖文操作步驟

    Oracle數(shù)據(jù)庫下載及安裝圖文操作步驟

    本文將介紹Oracle數(shù)據(jù)庫下載及安裝等一系列步驟,需要了解的朋友可以參考下
    2012-12-12

最新評(píng)論

鄂州市| 鞍山市| 灌云县| 丰镇市| 南充市| 叶城县| 瓦房店市| 南昌市| 乌什县| 天水市| 遂昌县| 东山县| 雷山县| 鲁甸县| 阿瓦提县| 抚远县| 新宁县| 泗洪县| 武安市| 平塘县| 梁山县| 股票| 咸阳市| 商水县| 离岛区| 华宁县| 浏阳市| 富阳市| 大竹县| 库伦旗| 新津县| 武义县| 六盘水市| 霞浦县| 石渠县| 龙游县| 黎城县| 江川县| 张家川| 蚌埠市| 东兰县|