日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中constraints,oracle constraints(2)

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中constraints,oracle constraints(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

oracle 約束的狀態

oracle在創建約束后默認狀態是enabled VALIDATED

SQL> create table T2

2 (

3 VID NUMBER,

4 VNAME VARCHAR2(10) not null,

5 VSEX VARCHAR2(10) not null

6 )

7 /

Table created

SQL> alter table t2 add constraints PK_T primary key (vid);

Table altered

SQL> select t.constraint_name, t.status, t.validated from user_constraints t;

CONSTRAINT_NAME STATUS VALIDATED

------------------------------ -------- -------------

SYS_C003762 ENABLED VALIDATED

SYS_C003763 ENABLED VALIDATED

PK_T ENABLED VALIDATED

oracle約束一共有4種狀態:enabled validated, enabled novalidated, disadble validated, disable novalidated。

enabled?validated 是默認狀態,表示數據在約束創建時要對數據庫內的數據進行校驗并且同時約束后來插入的數據滿足約束條件。

enabled novalidated 表示不對數據庫內的數據進行校驗而只是要求后來插入的數據滿足約束條件。

SQL> select * from t2;

VID VNAME VSEX

---------- ---------- ----------

1 a y

2 b

3 c x

SQL> alter table t2 modify VSEX not null enable novalidate;

Table altered

SQL> select * from t2;

VID VNAME VSEX

---------- ---------- ----------

1 a y

2 b

3 c x

SQL> insert into t2 values ('4','d','');

insert into t2 values ('4','d','')

ORA-01400: 無法將 NULL 插入 ("PORTALDB"."T2"."VSEX")

SQL>

SQL> select t.constraint_name, t.status, t.validated from user_constraints t;

CONSTRAINT_NAME STATUS VALIDATED

------------------------------ -------- -------------

SYS_C003765 ENABLED VALIDATED

PK_T ENABLED VALIDATED

SYS_C003768 ENABLED NOT VALIDATED

對于唯一約束和主鍵約束由于在創建時候要創建唯一索引,所以在普通表中如果表中數據有違反約束�

總結

以上是生活随笔為你收集整理的oracle中constraints,oracle constraints(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。