課程
/數據庫
/Oracle
/Oracle數據庫開發必備利器之SQL基礎
如果在表級設置多個檢查約束,應如何設置
2016-02-26
源自:Oracle數據庫開發必備利器之SQL基礎 5-12
正在回答
首先針對你這個問題進行解析下,CHECK其實就是一個檢查索引,跟其他索引本質上并無區別,所以多個CHECK既可以理解為同時指定多個索引。
SQL> CREATE TABLE userinfo_c2
? 2 ?(id varchar2(10) PRIMARY KEY,
? 3 ?username varchar2(20),
? 4 ?salay number(5,0),
? 5 ?CONSTRAINT ck_c2_salay CHECK(salay >= 0),
? 6 ?CONSTRAINT ck_c2_salay_max CHECK(salay <= 10000));
主鍵約束
CREATE TABLE Persons(Id_P int NOT NULL,
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName))
外鍵約束
CREATE TABLE Orders(Id_O int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)
舉報
為你帶來Oracle開發必備的sql基礎,為后續課程學習打下好的基礎
1 回答主鍵約束和唯一約束
1 回答主鍵約束與唯一約束
1 回答外鍵約束?
2 回答主鍵約束
1 回答為什么非空約束只能是列級約束
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-08-14
首先針對你這個問題進行解析下,CHECK其實就是一個檢查索引,跟其他索引本質上并無區別,所以多個CHECK既可以理解為同時指定多個索引。
SQL> CREATE TABLE userinfo_c2
? 2 ?(id varchar2(10) PRIMARY KEY,
? 3 ?username varchar2(20),
? 4 ?salay number(5,0),
? 5 ?CONSTRAINT ck_c2_salay CHECK(salay >= 0),
? 6 ?CONSTRAINT ck_c2_salay_max CHECK(salay <= 10000));
2016-02-26
主鍵約束
CREATE TABLE Persons
(
Id_P int NOT NULL,
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName))
外鍵約束
CREATE TABLE Orders
(
Id_O int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)