当我创建包含非空列的表时,Oracle自动创建检查约束为非空:像这样(从user_constraints视图查询)
NAME TYPE SEARCH_CONDITION
------------------------------ ---- ---------------------------------------
SYS_C0036357 C "SUPPLIER_ID" IS NOT NULL
SYS_C0036358 C "SUPPLIER_NAME" IS NOT NULL
那么,有没有办法知道Oracle(自动)创建的约束或者用户创建的约束。
谢谢。答案 0 :(得分:7)
您可以查看GENERATED
表(或user_constraints
)中的all_constraints
字段。
create table t (a number not null, constraint t_pk primary key(a));
select table_name, constraint_name, generated
from user_constraints
where table_name = 'T';
给出:
T | CONSTRAINT. | GENERATED
----------------------------
T | SYS_C008425 | GENERATED NAME
T | T_PK | USER NAME