oracle的check約束,oraclecheck約束

來源:互聯網
上載者:User

oracle的check約束,oraclecheck約束
     check約束是指檢查性約束,使用check約束時,將對輸入的每一個資料進行檢查,只有合格記錄才會被儲存到表中,從而保證了資料的有效性和完整性。
     check約束既有以下的四個特點:
在check約束的運算式中,必須參考資料表中的一個或多個列,並且運算式的運算結果是一個布爾值。
在一個列種,可以定義多個check約束。
對於同一列,可以同時定義check約束和not null約束。
check約束既可以定義在列層級中,也可以定義在表級中。
在這裡,我們建立了一個p3表作為示範:
SQL> create table p3(
  2  pid number(4) not null unique,
  3  pname varchar2(10),
  4  page number(3) constraint check_p3age check(page>0)--為page指定檢查約束,其中page必須大於0
  5  );
表已建立。
SQL> insert into p3 values(1,'aaa',20);
已建立 1 行。
SQL> insert into p3 values(1,'aaa',0);
insert into p3 values(1,'aaa',0)
*
第 1 行出現錯誤:
ORA-02290: 違反檢查約束條件 (SYSTEM.CHECK_P3AGE)


SQL> alter table p3 add constraint check2_p3age check(page<100);  --向表中添加約束,是的page的值必須小於100
表已更改。
SQL> insert into p3 values(1,'aaa',100);  --當插入的值大於等於100時報錯
insert into p3 values(1,'aaa',100)
*
第 1 行出現錯誤:
ORA-02290: 違反檢查約束條件 (SYSTEM.CHECK2_P3AGE)


SQL> alter table p3 drop constraint check2_p3age;          --刪除表中的check約束

表已更改。

以上的內容來自學習記錄。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.