[解決済み] Oracle SQLでテーブルのすべての制約の名前を表示する
2022-07-27 14:22:30
質問
Oracle SQLで作成した複数のテーブルに対して、それぞれの制約に名前を定義しています。
問題は、特定のテーブルのカラムの制約を削除するために、私が各制約に与えた名前を知る必要がありますが、私はそれを忘れてしまいました。
テーブルの各列に指定した制約の名前をすべてリストアップするにはどうしたらよいでしょうか。
これを行うためのSQL文はありますか?
どのように解決するのですか?
この問題を解決するには
データ辞書
を、具体的には
USER_CONS_COLUMNS
ビューを使用して、テーブルの列と対応する制約を確認することができます。
SELECT *
FROM user_cons_columns
WHERE table_name = '<your table name>';
参考までに、小文字の名前(二重引用符を使用)でテーブルを作成しない限り、テーブル名はデフォルトで大文字になるので、クエリ内でそうなっていることを確認してください。
その後、制約自体の詳細な情報を見たい場合は
USER_CONSTRAINTS
ビューにアクセスします。
SELECT *
FROM user_constraints
WHERE table_name = '<your table name>'
AND constraint_name = '<your constraint name>';
もし、テーブルがデフォルトスキーマではないスキーマで保持されている場合、ビューを置き換える必要があるかもしれません。
all_cons_columns
と
all_constraints
をwhere節に追加する。
AND owner = '<schema owner of the table>'
関連
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] SQLサーバーで行を列に効率的に変換する
-
[解決済み] オラクル:テーブルが存在する場合
-
[解決済み] SQL Serverで、1つのALTER TABLEステートメントで複数のカラムをDROPする方法は?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQLクエリで特定のデータベースのすべてのテーブル名を取得しますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
SQLラーニングノート--オペランドには1つのカラムが必要です。
-
ERROR 1136 (21S01) を解決してください。列の数が Mysql の行 1 の値の数と一致しません。
-
[解決済み] 指定されたスキーマにテーブルが存在するかどうかを確認する方法
-
[解決済み] 1つのPostgreSQLクエリで複数のWITHステートメントを使用するには?
-
[解決済み] データベースのインデックス作成はどのように行われるのですか?[クローズド]
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] SQLサーバーで行を列に効率的に変換する