Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / System Tables Data Dictionary
 

Getting Information on the Constraints on a Column

You can get information on the constraints on a column by querying user_cons_columns. SQL> desc user_cons_columns;  Name               Null?    Type  -------------------  OWNER              NOT NULL VARCHAR2(30)  CONSTRAINT_NAME    NOT NULL VARCHAR2(30)  TABLE_NAME         NOT NULL VARCHAR2(30)  COLUMN_NAME                 VARCHAR2(4000)  POSITION                                                                                                                                                                       NUMBER SQL> SQL> -- create demo table SQL> create table myTable(   2    id           NUMBER(2),   3    value        NUMBER(6,2)   4  )   5  / Table created. SQL> SQL> -- prepare data SQL> insert into myTable(ID,  value)values (1,9)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (2,2.11)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (3,3.44)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (4,-4.21)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (5,10)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (6,3)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (7,-5.88)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (8,123.45)   2  / 1 row created. SQL> insert into myTable(ID,  value)values (9,98.23)   2  / 1 row created. SQL> SQL> select * from myTable   2  /         ID      VALUE ---------- ----------          1          9          2       2.11          3       3.44          4      -4.21          5         10          6          3          7      -5.88          8     123.45          9      98.23 9 rows selected. SQL> SQL> ALTER TABLE myTable   2  ADD CONSTRAINT uq UNIQUE (id)   3  DEFERRABLE INITIALLY DEFERRED; Table altered. SQL> SQL> COLUMN column_name FORMAT a15 SQL> SELECT constraint_name, column_name   2  FROM user_cons_columns   3  WHERE table_name = 'MYTABLE'; CONSTRAINT_NAME                COLUMN_NAME ------------------------------ --------------- UQ                             ID SQL> SQL> clear columns; columns cleared SQL> SQL> -- clean the table SQL> drop table myTable   2  / Table dropped. SQL>