Oraclesql建表设置组合唯一
时间: 2024-09-12 14:14:38 浏览: 32
在Oracle数据库中,创建一个表并设置组合唯一(也称为复合唯一约束),意味着表中的多个列可以共同构成一个唯一的标识。这种约束确保了表中任何两行都不能在这些指定的列上有相同的值组合。
创建带有组合唯一约束的表可以通过SQL语句来实现,具体语法如下:
```sql
CREATE TABLE 表名 (
列名1 数据类型,
列名2 数据类型,
...
[CONSTRAINT 约束名] UNIQUE (列名1, 列名2, ...)
);
```
其中`CONSTRAINT 约束名`是用来给唯一约束命名,如果省略,Oracle会自动生成一个约束名。`UNIQUE (列名1, 列名2, ...)`表示这些列的组合必须是唯一的。
例如,如果你想要创建一个包含员工信息的表,并且希望员工的部门ID和员工ID的组合是唯一的,你可以这样写:
```sql
CREATE TABLE employees (
department_id NUMBER,
employee_id NUMBER,
employee_name VARCHAR2(50),
...
CONSTRAINT unq_department_employee UNIQUE (department_id, employee_id)
);
```
在这个例子中,`unq_department_employee`是唯一约束的名称,`department_id`和`employee_id`列的组合必须在表中是唯一的。
阅读全文