列名を抽出する Oracle クエリ
質問:
MySQL クエリを変更して、Oracle 11g データベースのテーブルから列名を抽出します。具体的には、特定の列を除外し、スキーマを指定します。スキーマ名の代わりにテーブルスペース名を使用できるかどうかは不明です。
解決策:
1. MySQL クエリに相当する Oracle:
MySQL の information_schema.COLUMNS に相当する Oracle は、USER_TAB_COLS (現在のユーザーが所有するテーブルの場合)、ALL_TAB_COLS または DBA_TAB_COLS (すべてのユーザーが所有するテーブルの場合) です。
2. スキーマとテーブルスペース:
テーブルスペースはスキーマと同等ではありません。テーブルスペースはデータベース オブジェクトの物理的なストレージを指し、スキーマはデータベース オブジェクトの論理的なグループを指します。
3. Oracle クエリの例:
これは、指定された列を除外し、スキーマを指定して、users テーブルから列名を抽出するように変更された Oracle クエリです。
<code class="language-sql">SELECT column_name FROM all_tab_cols WHERE table_name = 'USERS' AND owner = '[_db]' AND column_name NOT IN ('PASSWORD', 'VERSION', 'ID')</code>
注:
以上が特定の列を除く、Oracleテーブルから特定の列名を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。