It is always a question that how do I know what constraints are there on each column of a table. Following query gives access to this information, SELECT a.table_name,a.column_name,a.constraint_name, b.constraint_type, b.search_condition FROM USER_CONS_COLUMNS a, USER_CONSTRAINTS b WHERE a.constraint_name = b.constraint_name ORDER BY a.table_name; Above query returns all the tables and all its columns with some constraints. CONSTRAINT_TYPE column in table USER_CONSTRAINTS store information about what type of constraint a column is. The mapping goes this way, 1. C --> Check/Not Null 2. P --> Primary Key 3. R --> Foreign Key 4. U --> Unique Since CONSTRAINT_TYPE defines both CHECK and NOT NULL as C, Column SEARCH_CONDITION gives more details on CONSTRAINT_TYPE C. If you are only interested only in knowing NOT NULL columns for a table then just use DESCRIBE <tablename>. This lists columns with not null constraint. Sample output of the above query on my...