Oracle 约束
约束是表级的强制规定
有以下五种约束:
- NOT NULL
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
注意事项:
可以在表级或列级定义约束
可以通过数据字典视图查看约束
表级约束和列级约束:
①列级约束只能作用在一个列上
②表级约束可以作用在多个列上(当然表级约束也 ,可以作用在一个列上)
列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义
非空(not null) 约束只能定义在列上
创建约束语法:
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],
...
[table_constraint][,...]);
CREATE TABLE employees(
employee_id NUMBER(6),
first_name VARCHAR2(20),
...
job_id VARCHAR2(10) NOT NULL,
CONSTRAINT emp_emp_id_pk
PRIMARY KEY (EMPLOYEE_ID));
//NOT NULL 约束
只能定义在列级:
CREATE TABLE employees(
employee_id NUMBER(6),
last_name VARCHAR2(25) NOT NULL,
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
hire_date DATE
CONSTRAINT emp_hire_date_nn NOT NULL);