Oracle テーブルの外部キーをクエリする 3 つの方法

PHPz
リリース: 2023-04-04 14:03:33
オリジナル
6111 人が閲覧しました

Oracle データベースでは、テーブル間の関係を外部キーを使用して実現できます。外部キーは強力な制約であり、データの整合性を確保し、データ クエリの効率を向上させることができます。テーブルの外部キーをクエリする場合は、さまざまな方法を使用できます。この記事では、より一般的に使用される方法をいくつか紹介します。

方法 1: システム テーブルをクエリする

Oracle データベースでは、システム テーブル USER_CONSTRAINTS にすべての制約をリストできます。次のステートメントを使用して、テーブルのすべての外部キーをクエリできます:

SELECT a.table_name,

a.constraint_name,

b.column_name,

a.r_constraint_name,

a.delete_rule

FROM user_constraints a,

user_cons_columns b

WHERE a.constraint_type = 'R'

AND a.constraint_name = b.constraint_name

AND a.table_name = 'your_table_name';

このうち、a.table_name は、外部クエリを実行するテーブルの名前を指します。鍵。クエリ結果は、各外部キーの名前、対応する列、参照テーブル、および削除ルールを返します。

方法 2: Oracle SQL Developer を使用する

Oracle SQL Developer は無料のクライアント ツールです。他のツールよりも使いやすいユーザー インターフェイスを備えており、テーブル間の関係を簡単にクエリできます。次の手順でテーブルのすべての外部キーをクエリできます。

  1. Oracle SQL Developer を開いて、対応するデータベースに接続します。
  2. [接続] パネルで必要なテーブルを選択します。
  3. 右側の「プロパティ」ウィンドウで「制約」タブを選択します。
  4. 「外部キー制約」領域では、テーブルのすべての外部キーと参照テーブルを表示できます。

方法 3: データ ディクショナリをクエリする

Oracle データベースには独自のデータ ディクショナリがあり、システム テーブルの関連情報を格納するために使用できます。次のステートメントを通じてテーブルのすべての外部キーをクエリできます:

SELECT a.table_name,

a.constraint_name,

b.column_name,

a.r_constraint_name,

a.delete_rule

FROM user_constraints a,

user_cons_columns b

WHERE a.constraint_type = 'R'

AND a.constraint_name = b.constraint_name

AND a.table_name = 'your_table_name';

このうち、a.table_name は、外部キーをクエリするテーブルの名前を指します。 。クエリ結果は、各外部キーの名前、対応する列、参照テーブル、および削除ルールを返します。

概要

上記では、Oracle データベース テーブルの外部キーをクエリする 3 つの方法を紹介しました。そのうち、システム テーブルとデータ ディクショナリをクエリする方法は、最も一般的に使用されている従来の方法です。 Oracle SQL Developerを使用することは、より直感的で高速な方法です。どの方法を使用する場合でも、データの整合性と正確性を保証するために、クエリされた情報を分析および比較する必要があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!