oracle数据库如何使用sql查询哪一个表字段添加了非空约束

oracle数据库如何使用sql查询哪一个表字段添加了非空约束

select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,SEARCH_CONDITION from dba_constraints where TABLE_NAME='&table_name' and owner='&username' and CONSTRAINT_TYPE='C' ;

可以通过如下语句查询用户名、表名及非空约束情况

SET SERVEROUT ON
 BEGIN
 FOR I IN (select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,SEARCH_CONDITION from dba_constraints where TABLE_NAME='&table_name'  and CONSTRAINT_TYPE='C') LOOP
 IF INSTR(I.SEARCH_CONDITION , 'IS NOT NULL')>0 THEN
 DBMS_OUTPUT.PUT_LINE(I.OWNER||'  '||I.CONSTRAINT_NAME||'  '||I.CONSTRAINT_TYPE||'  '||I.TABLE_NAME||'  '||I.SEARCH_CONDITION );
 END IF;
 END LOOP;
 END;
 /