問題:
Oracleのテーブルで制約の名前を検索したい。
例:
テーブルstudent
。
解決策:
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
結果は次のとおりです。
CONSTRAINT_NAME | CONSTRAINT_TYPE | TABLE_NAME |
---|---|---|
SYS_C007376 | R | 学生 |
SYS_C007374 | P | 学生 |
SYS_C007375 | U | 学生 |
SYS_C007372 | C | 学生 |
ディスカッション:
Oracleでは、ビューuser_constraints
データベース内の制約の名前を表示します。列constraint_name
制約の名前constraint_type
が含まれています 制約のタイプを示し、table_name
制約が属するテーブルの名前が含まれます。列constraint_typeで、値「R」は外部キー、「P」は主キー、「U」は一意性制約、「C」は制約チェックを表します。この例では、テーブルstudent
名前がSYS_C007374
であるタイプP(主キー)の 。