SQL 約束設置(續)

        在前面,我曾經提過SQL的六種約束,對常用的檢查約束有表約束和列約束,他們的書寫格式儘管有一點不同,但是,不管是先定義在設置約束,還是在定義的同時設置約束,這兩種不同格式的約束都是針對字段(或列)來說的,爲了不讓大家混淆,還有一種萬能的格式來設置檢查約束,這種格式可以在建好表之後再設置,格式如下:

         alter table <表名> add constraint <約束名> check (邏輯表達式)

         比方說,在表employeer裏有一個性別(gender)字段,要添加檢查約束,保證輸入的數據是“男”或“女”。

create table employeer

(
emplooyeeid int  identity primary key not null,
employeename varchar(50) not null,

deptid int ,
gender char(2) not null default '男',       --默認約束爲“男”

);

alter table employeer add constraint gendercheck check (gender='男' or gender='女');    ---添加檢查約束

         如果想刪除已添加的檢查約束,可以通過以下命令:

alter  table  employeer drop constraint gendercheck; 

         同樣的,對外鍵約束的設置,也有一種萬能的格式,如下:

alter  table  <表名1>  add  constraint  <約束名>  foreign key (需要設置外鍵的列) references <表名2> (與外鍵關聯的列);     --添加外鍵約束

        注意:在設置外鍵時,確保已經建立好兩個相關聯的表 。    

       如前面有一個employeer(員工)表,裏面有一個部分id(deptid)字段,假設還有一個部門表(department)裏面也有一個部門id(deptid)字段,他是員工表的外鍵,指向部門表的deptid,即可按如下設置外鍵約束:

alter table employeer add constraint kjhjk foreign key (deptid) references department (deptid); --添加外鍵約束

       有了這些萬能的約束設置格式,我們可以通過設置約束來實現數據的完整性。  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章