在单个表中添加多个约束
先决条件 - SQL 约束
我们可以创建一个在其列中包含多个约束的表。以下示例显示了我们如何在表上定义不同的约束。
在 Create 命令中添加约束:
- Sr_no 是主键。
- Branch_no 是引用 Branch 表的外键。
- 公司类型将包含以下任一值:'1C'、'2C'、'3C'
句法 :
Create table Fd_master(Sr_no varchar2(10),
Branch_no varchar2(10), account_no varchar2(20),
company_type varchar2(20), constraint pk primary key(Sr_no),
constraint fk foreign key (Branch_no) references Branch,
constraint chk check(company_type in (‘1C’, ’2C’, ’3C’)));
- 主键约束——
Fd_master 中的 Sr_no,其中 pk 是用户定义的主键名称。 - 外键约束——
Fd_master 中的 Branch_no,其中 fk 是引用分支表的外键名称。 - 检查约束——
Fd_master 中的 company_type,其中 chk 是将检查给定值的名称,即“1C”、“2C”、“3C”
在 Alter 命令中添加约束:
可以通过 alter 命令添加多列级别的约束。它可以按顺序添加到父子表中。
约束 1(默认):
创建两个表 -
- 父对 ID 具有默认约束,默认值为 1。给约束的名称是 DF_ParentTable。
- 带有 ID 列的外部表。
两个表中的 ID 都设为“NOT NULL”。
句法 :
CREATE TABLE ParentTable (ID int not null constraint DF_ParentTable default (1),
name varchar2(5));
CREATE TABLE ForeignTable (ID int not null, Col2 VARCHAR(5));
约束 2(检查):
ALTER TABLE ParentTable ADD CONSTRAINT CK_ParentTable_ID CHECK(ID<100);
约束 3(外键):
外键
ALTER TABLE ParentTable
ADD CONSTRAINT FK_parent_foreign FOREIGN KEY (ID) REFERENCES ForeignTable(ID);