Oracle模拟MySQL的show index from table命令_MySQL
Oracle模拟MySQL的show index from table命令
实验数据初始化:
-
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登录
-
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 ;
以普通用户登录
-
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 ;
-
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 ;
- /
-
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 ;

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

記事では、準備されたステートメント、入力検証、および強力なパスワードポリシーを使用して、SQLインジェクションおよびブルートフォース攻撃に対するMySQLの保護について説明します。(159文字)
