[解決済み] カラム名を取得するためのOracleクエリ
2022-06-27 15:55:19
質問
私はこのようなテーブルから列を取得するためにmySQLクエリを持っています。
String sqlStr="select column_name
from information_schema.COLUMNS
where table_name='users'
and table_schema='"+_db+"'
and column_name not in ('password','version','id')"
Oracle 11gデータベースで上記のクエリを変更するにはどうすればよいですか?私はテーブル 'users'の結果セットとして、スキーマを指定して特定の列を除いた列名を取得する必要があります。現在、私は新しいテーブルスペースにすべてのテーブルを持っているので、スキーマ名の代わりにテーブルスペース名を指定するのでしょうか?
また、このための一般的な HQL はありますか?私の新しい Oracle データベース (私は Oracle の初心者です) では、テーブルスペース名しかないので、これはスキーマ名と同等です (論理的には?)。
どのように解決するのですか?
オラクルでは
information_schema.COLUMNS
は
USER_TAB_COLS
で、現在のユーザが所有するテーブルのためのものです。
ALL_TAB_COLS
または
DBA_TAB_COLS
を使用すると、すべてのユーザが所有するテーブルの
テーブルスペースはスキーマと同等ではありませんし、テーブルスペース名を提供する必要もありません。
スキーマ/ユーザ名を提供することは、もしあなたが
ALL_TAB_COLS
または
DBA_TAB_COLS
のように、特定のユーザが所有するテーブルのカラムのためのクエリです。
String sqlStr= "
SELECT column_name
FROM all_tab_cols
WHERE table_name = 'USERS'
AND owner = '" +_db+ "'
AND column_name NOT IN ( 'PASSWORD', 'VERSION', 'ID' )"
この方法では、SQLインジェクションの危険があることに注意してください。
EDITです。 テーブル名とカラム名を大文字にしました。Oracleでは通常大文字で、二重引用符で囲んで作成した場合のみ小文字または混合文字になります。
関連
-
[解決済み] SQL Server FOR EACH ループ
-
[解決済み] SQL Server : 列を行に変換する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] SQL Serverでテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み] Count()で条件を指定することは可能ですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み】Oracleクエリが順序付け後に返す行数を制限するにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ERROR 1136 (21S01) を解決してください。列の数が Mysql の行 1 の値の数と一致しません。
-
windows mysql prompt access denied for user ''@'localhost' to database.
-
org.postgresql.util.PSQLException: ERROR: リレーション "userinfo" の列 "loginid" が存在しません。
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] JOINとINNER JOINの違いについて
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] SQL Server における DateTime2 と DateTime の比較
-
[解決済み] MySQLでFULL OUTER JOINを行うにはどうすればよいですか?
-
[解決済み] SQLでランダムな行を要求する方法は?
-
[解決済み] SQLのインデックスとは何ですか?