は、私は次の属性を持つテーブルの名前STUDENTを持っている: Oracleのテーブルに存在するすべての制約のリストを取得する方法は?
enroll VARCHAR(20),
name VARCHAR(50),
age INT,
fees FLOAT(6,2)
は今、私はすべての制約が(主キー、ユニークキー、NOT NULLで、などのように)このテーブルに存在しているものを知りたいです。親切に私にこれをどうやって手に入れることができるのか教えてください。
は、私は次の属性を持つテーブルの名前STUDENTを持っている: Oracleのテーブルに存在するすべての制約のリストを取得する方法は?
enroll VARCHAR(20),
name VARCHAR(50),
age INT,
fees FLOAT(6,2)
は今、私はすべての制約が(主キー、ユニークキー、NOT NULLで、などのように)このテーブルに存在しているものを知りたいです。親切に私にこれをどうやって手に入れることができるのか教えてください。
のためのWebブラウザモードを使用する必要があります覚えていますUSER_CONSTRAINTSおよびUSER_CONS_COLUMNSを使用して、列名、制約の種類および表名をフェッチします。
SELECT ucc.COLUMN_NAME, uc.CONSTRAINT_TYPE ,uc.TABLE_NAME
FROM USER_CONSTRAINTS uc JOIN USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
AND uc.TABLE_NAME=ucc.TABLE_NAME
WHERE uc.TABLE_NAME='mytablename';
制約定義と呼ぶことができます:あなたは、私は詳細を与える「学生 でSHOW INDEX」のようないくつかのクエリを探していますhere
非常に灰色..ありがとう..それは働いた:) – rohit
あなたはそれはあなたがキャップにSTUDENT
を渡していることを確認してくださいuser_constraints
SELECT *
FROM user_constraints
WHERE table_name = 'STUDENT'
から得ることができます。
C (check constraint on a table)
P (primary key)
U (unique key)
R (referential integrity)
V (with check option, on a view)
O (with read only, on a view)
こんにちはPrdp、あなたの返信をありがとう..ありがとう、私はあなたが何かを説明することができますuser_constraintsです。それはキーワードですか? このコードは機能していないか、正しく使用できません。 – rohit
@rohit - 現在のユーザーが所有するテーブルの制約の定義を示すように見えます。 –
@rohit - STUDENTを大文字で渡してください。テーブル名は大文字と小文字が区別されます –
は、このビューのクエリを試してみて、すべての制約の詳細を得るためにあなたのテーブル名を指定します。table_nameが制約タイプのチェックに制約定義のこのコラムCONSTRAINT_TYPE
タイプを知るためにケース
敏感です。
SELECT * FROM user_cons_columns WHERE table_name = '<YOUR_TABLE_NAME>';
それとも
SELECT * FROM user_constraints WHERE table_name = '<your table name>' AND constraint_name = '<your constraint name>';
こんにちはAshwinP、あなたの返事をありがとう。両方の方法で、 "NO ROWS SELECTED"を表示しています – rohit
テーブル名と制約名を大文字で入れましたか? –
はい大文字で試してください –
だけdescribe
describe student
を使用していますが、次の2つのテーブルの上に、JOINを使用することができ、それ
Oracleドキュメントを表示することができます詳細については
MySQLのテーブルの – rohit