老師,非空約束也有名字吧,只是沒法像表級設置約束時那樣自定義名字,但系統也還是一樣會自動生成名字。因此也可以更改非空約束的名字。對不?而且非空約束的類型和檢查約束一樣,都是C。
SQL> create table userinfo_n?
? 2 ?(id varchar2(10) not null,
? 3 ?username varchar2(20));
Table created.
SQL> select constraint_name,constraint_type,status from user_constraints
? 2 ?where table_name='USERINFO_N';
CONSTRAINT_NAME
--------------------------------------------------------------------------------
C STATUS
- --------
SYS_C00729107
C ENABLED
SQL> alter table userinfo_n
? 2 ?rename constraint SYS_C00729107 to not_null_constraint;
Table altered.
SQL> select constraint_name,constraint_type,status from user_constraints
? 2 ?where table_name='USERINFO_N';
CONSTRAINT_NAME
--------------------------------------------------------------------------------
C STATUS
- --------
NOT_NULL_CONSTRAINT
C ENABLED
2018-02-23
試了一下,是有名稱的,也能用刪掉約束名稱的方式來刪掉此約束,你好細致