Oracle中最常用的默认约束
在Oracle数据库中,约束是一种用于限制表中数据的规则。默认约束是其中一种约束类型,可以用来指定当未提供值时,数据库应该使用的默认值。在这篇文章中,我们将讨论Oracle中最常用的默认约束类型以及如何使用它们。
1. NOT NULL约束
NOT NULL约束指定某个列必须包含一个值。如果尝试向不包含NULL值的列插入NULL值,则会收到错误消息。以下是创建表时使用NOT NULL约束的示例:
CREATE TABLE employee (
id NUMBER(10) NOT NULL,
name VARCHAR2(50) NOT NULL,
salary NUMBER(15,2)
);
2. DEFAULT约束
DEFAULT约束是指定在插入行时,如果未对该列提供值,则使用的默认值。默认值可以是列中的任何常量值或函数,例如SYSDATE函数。以下是使用DEFAULT约束的示例:
CREATE TABLE customer (
id VARCHAR2(10),
name VARCHAR2(50) NOT NULL,
eml VARCHAR2(50),
create_time TIMESTAMP DEFAULT SYSDATE
);
在上述示例中,当插入新行时,如果未为create_time列提供值,则将使用当前系统日期时间作为默认值。
3. CHECK约束
CHECK约束允许定义列中允许插入的值的范围。例如,可以使用CHECK约束定义salary列的值必须大于等于0:
CREATE TABLE employee (
id NUMBER(10),
name VARCHAR2(50),
salary NUMBER(15,2) CONSTRNT salary_check CHECK (salary >= 0)
);
4. UNIQUE约束
UNIQUE约束确保列中的每个值都是唯一的。如果尝试向包含重复值的列中插入新行,则会收到错误消息。以下是使用UNIQUE约束的示例:
CREATE TABLE customer (
id NUMBER(10),
name VARCHAR2(50),
eml VARCHAR2(50) CONSTRNT eml_unique UNIQUE
);
在上述示例中,我们使用UNIQUE约束确保eml列中的每个值都是唯一的。
5. PRIMARY KEY约束
PRIMARY KEY约束是一个UNIQUE约束,同时也将表中的一列定义为主键。主键是一种用于唯一标识表中行的列。以下是使用PRIMARY KEY约束的示例:
CREATE TABLE employee (
id NUMBER(10) PRIMARY KEY,
name VARCHAR2(50) NOT NULL,
salary NUMBER(15,2)
);
在上述示例中,我们将id列定义为主键,这意味着每个id值都必须唯一。
总结
在本文中,我们介绍了Oracle中最常用的默认约束类型,包括NOT NULL约束、DEFAULT约束、CHECK约束、UNIQUE约束和PRIMARY KEY约束。我们还给出了相关代码示例,以便读者可以更好地理解这些约束类型的使用方法。在开发Oracle应用程序时,使用这些默认约束可以帮助我们更好地管理表中的数据。