oracle 建表设置主键sql例句
时间: 2023-09-04 19:09:59 浏览: 66
下面是一个 Oracle 建表设置主键的 SQL 例句:
```
CREATE TABLE employees (
employee_id NUMBER(6),
first_name VARCHAR2(20),
last_name VARCHAR2(25),
email VARCHAR2(25),
phone_number VARCHAR2(20),
hire_date DATE,
job_id VARCHAR2(10),
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
manager_id NUMBER(6),
department_id NUMBER(4),
CONSTRAINT pk_employee_id PRIMARY KEY (employee_id)
);
```
在这个例子中,我们定义了一个名为 `employees` 的表,并将 `employee_id` 列指定为主键,在 `CONSTRAINT` 关键字后面使用 `pk_employee_id` 作为主键的名称。
相关问题
oracle建表实现主键自增
可以通过使用序列和触发器来实现 Oracle 数据库的主键自增功能。
步骤如下:
1. 创建一个序列
```
CREATE SEQUENCE seq_name
INCREMENT BY 1
START WITH 1
MAXVALUE 999999999
MINVALUE 1
NOCYCLE
NOCACHE;
```
这个序列将从 1 开始自增,每次增加 1,最大值为 999999999,最小值为 1,不循环,不缓存。
2. 创建表,并指定主键使用序列
```
CREATE TABLE table_name (
id NUMBER(10) PRIMARY KEY,
column1 VARCHAR2(50),
column2 VARCHAR2(50),
...
);
CREATE OR REPLACE TRIGGER trigger_name
BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
SELECT seq_name.NEXTVAL INTO :new.id FROM dual;
END;
```
这个触发器在每次插入数据之前,从序列中获取下一个值,并设置为主键值。
现在,每次插入一条数据时,主键将自动增加并使用序列中的下一个值。
oracle建表语句并设置主键自增
可以使用以下语句创建一个名为 table_name 的表,其中 id 列为主键并自增:
```
CREATE TABLE table_name (
id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
column1 datatype1,
column2 datatype2,
...
);
```
其中,datatype1、datatype2 等为列的数据类型,可以根据实际情况进行替换。