問題:
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(主キー)の 。