ホームページ >データベース >Oracle >Oracle でテーブルのシノニムをクエリする方法

Oracle でテーブルのシノニムをクエリする方法

WBOY
WBOYオリジナル
2022-05-25 15:19:5111820ブラウズ

Oracle では、「dba_synonyms」クエリ テーブルで select ステートメントを使用して、すべてのシノニムをクエリできます。構文は「select * from dba_synonyms」です。シノニムとビューの機能は類似しており、マッピング関係です。データベース容量を大幅に節約できます。

Oracle でテーブルのシノニムをクエリする方法

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle でテーブルのシノニムをクエリする方法

Oracle のシノニムの詳細な説明

文字通り理解すると、ビューの機能に似た別名を意味します。 。それはマッピング関係です。

同義語構文: CREATE

[PUBLIC] SYNONYM synonym FOR object;

すべての同義語を表示:

select * from dba_synonyms

Oracle でテーブルのシノニムをクエリする方法

同義語には次の利点があります。データベーススペースにより、異なるユーザーが大きな違いなく同じテーブルを操作できるようになり、データベースの使用範囲が拡張されたことで、異なるデータベースユーザー間のシームレスな対話が可能になり、異なるデータベースサーバー上にシノニムを作成してネットワーク経由で接続できるようになりました。

拡張知識:

1: 現在のすべてのシノニム テーブル名を取得する:

select table_name from user_synonyms

2: すべてのシノニム テーブルの所有者をクエリする:

select table_owner from user_synonyms

3: 現在のシノニムテーブルの所有者を問い合わせます:

select table_owner from user_synonyms WHERE table_name ='大写表名'

4: シノニムテーブルのテーブルデータを問い合わせます:

select * from 大写所有者名.大写表名

5: テーブル構造の基本情報を問い合わせますシノニム テーブルの (フィールド名、フィールド タイプ、フィールド長、その他の情報):

select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from dba_tab_columnswhere table_name ='(大写表名)' AND OWNER  = (大写所=属名) order by COLUMN_NAME';

6: Oracle シノニム テーブルの主キー情報をクエリします:

select a.column_name,
                    DECODE(A.column_name, b.column_name, 1, 0) pk
               from all_tab_columns a,
                    (select column_name
                       from all_constraints c, all_cons_columns col
                      where c.constraint_name = col.constraint_name
                        and c.constraint_type = 'P'
                        and c.table_name =  '大写表名' ) b
              where table_name ='大写表名'
                and a.column_name = b.column_name(+) and  DECODE(A.column_name, b.column_name, 1, 0) = 1

推奨チュートリアル: "Oracle ビデオ チュートリアル"

以上がOracle でテーブルのシノニムをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。