📜  在单个表中添加多个约束

📅  最后修改于: 2022-05-13 01:55:36.476000             🧑  作者: Mango

在单个表中添加多个约束

先决条件 - 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’)));
  1. 主键约束——
    Fd_master 中的 Sr_no,其中 pk 是用户定义的主键名称。
  2. 外键约束——
    Fd_master 中的 Branch_no,其中 fk 是引用分支表的外键名称。
  3. 检查约束——
    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);