[解決済み] オラクルは制約を見つける
2022-04-22 18:38:46
質問
という制約があります。
users.SYS_C00381400
. その制約が何であるかを調べるにはどうしたらよいですか? すべての制約をクエリする方法はありますか?
どのように解決するのですか?
select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/
他のデータディクショナリビューと同様に、現在のスキーマを確認したい場合はUSER_CONSTRAINTSビューを、管理者ユーザーにはDBA_CONSTRAINTSビューを提供します。
制約名の構成は、システムが生成した制約名を示しています。 例えば、テーブル宣言でNOT NULLを指定した場合。 あるいは実際に主キーやユニークキーを指定した場合。 例えば
SQL> create table t23 (id number not null primary key)
2 /
Table created.
SQL> select constraint_name, constraint_type
2 from user_constraints
3 where table_name = 'T23'
4 /
CONSTRAINT_NAME C
------------------------------ -
SYS_C00935190 C
SYS_C00935191 P
SQL>
'C'
をチェックする。
'P'
はプライマリです。
一般に、リレーショナル制約には明示的な名前を付けるとよいでしょう。 例えば、データベースが主キーのインデックスを作成する場合(そのカラムがまだインデックスされていない場合は作成されます)、制約名oをインデックス名に使用します。 データベースが以下のような名前のインデックスでいっぱいになることは避けなければなりません。
SYS_C00935191
.
正直なところ、ほとんどの人はNOT NULL制約をわざわざ命名することはないでしょう。
関連
-
[エラー処理] [MySQL] [Err] 1241 - オペランドは 1 つのカラムを含む必要があります。
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] SQLのIN句をパラメータ化する
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] MySQLで外部キー制約を一時的に無効にするにはどうすればよいですか?
-
[解決済み] 文字列の一部をUPDATEおよびREPLACEする。
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Serverでテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] カラム名の変更 SQL Server 2008
-
[解決済み] SQL Server の VARCHAR/NVARCHAR 文字列に改行を挿入する方法
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み] 既存のカラムにIDを追加する
-
[解決済み] Count()で条件を指定することは可能ですか?
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?