2017-05-12 5 views
0

作成したテーブルのすべてのCONSTRAINTをSQLに表示する方法についていくつか提案したいと思います。すべてのテーブルのCONSTRAINTをSQLに表示

私はテーブルを作成しました:

CREATE TABLE ACCOUNT(
    USERNAME  VARCHAR(15)  UNIQUE, 
    PASSWORD  VARCHAR(15), 
    CONSTRAINT ACCOUNT_UNIQUE UNIQUE(USERNAME), 
    CONSTRAINT ACCOUNT_PK  PRIMARY KEY(USERNAME,PASSWORD) 

私はSQLコマンドラインに/またはRUNコマンド実行するとき、私はもう、これらの制約を表示することができないので、私はこれらの制約を発見したいと思います。

テーブルACCOUNTのすべてのCONSTRAINTを表示する方法はありますか?

+0

可能な複製(http://stackoverflow.com/questions/3786156/which-oracle-view-contains -all-constraints-together) –

答えて

0
Oracleの場合

:MySQLの

については

SELECT * 
FROM USER_CONSTRAINTS 
WHERE table_name = 'ACCOUNT'; 

あなたは、テーブルの構造を表示するためにDESCRIBE ACCOUNTを使用することができ、制約を含ん作成コードを、見に制約、あるいはまたSHOW CREATE TABLE ACCOUNTを含ま。

もう一つの方法は次のとおりです。[?Oracleビューは、すべての制約を一緒に含まれている]の

SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE TABLE_NAME = 'ACCOUNT'; 

+0

すでにチェックされていますが、コマンドラインでこれを行うと、次のようになります。 SQL> DESCRIBE ACCOUNT; 名前Null?タイプ ----------------------------------------- ------- ---------------------------- USERNAME NOT NULL CHAR(15) パスワードがNULLでないCHAR(15) 制約する。 – Asynchronousx

+0

私は別のソリューションで編集しましたが、うまくいきました。 – Spock

+0

親切でありがとう、ありがとう、このコードを実行すると、このエラーが表示されます:行2のエラー: ORA-00942:テーブルまたはビューが存在しません。 また、グラフィックインターフェイスは使用せず、SQLコマンドラインプロンプトエディタだけを使用しています。 – Asynchronousx

関連する問題