oracle中自动生成主键id

在Oracle中,可以使用序列(Sequence)和触发器(Trigger)来实现自动生成主键ID。首先创建一个序列,然后在插入数据时使用该序列的下一个值作为主键ID。

在Oracle中,主键自动生成可以通过以下几种方法实现:

1. 使用序列(Sequence)

步骤:

1、创建序列:

CREATE SEQUENCE seq_name
START WITH 1
INCREMENT BY 1;

2、创建表:

CREATE TABLE table_name (
  id NUMBER DEFAULT seq_name.NEXTVAL,
  name VARCHAR2(50),
  PRIMARY KEY (id)
);

3、插入数据:

INSERT INTO table_name (name) VALUES ('张三');

这样,每次插入数据时,id字段会自动使用序列的下一个值。

2. 使用触发器(Trigger)

步骤:

1、创建序列:

CREATE SEQUENCE seq_name
START WITH 1
INCREMENT BY 1;

2、创建表:

CREATE TABLE table_name (
  id NUMBER,
  name VARCHAR2(50),
  PRIMARY KEY (id)
);

3、创建触发器:

CREATE OR REPLACE TRIGGER trg_name
BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
  SELECT seq_name.NEXTVAL INTO :new.id FROM dual;
END;
/

4、插入数据:

INSERT INTO table_name (name) VALUES ('张三');

这样,每次插入数据时,触发器会自动为id字段赋值序列的下一个值。

3. 使用身份列(Identity Column)

从Oracle 12c开始,可以使用身份列来实现主键自动生成。

步骤:

1、创建表:

CREATE TABLE table_name (
  id NUMBER GENERATED ALWAYS AS IDENTITY,
  name VARCHAR2(50),
  PRIMARY KEY (id)
);

2、插入数据:

INSERT INTO table_name (name) VALUES ('张三');

这样,每次插入数据时,id字段会自动递增。


网站题目:oracle中自动生成主键id
分享网址:http://bzwzjz.com/article/coijscp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计 高端网站设计 成都营销网站建设 重庆外贸网站建设 成都网站建设 成都网站建设 成都响应式网站建设 网站制作 成都网站建设 成都企业网站制作 定制网站设计 高端网站设计推广 成都网站制作 宜宾网站设计 盐亭网站设计 成都商城网站制作 成都网站建设 成都网站设计 成都网站建设公司 网站建设公司 成都响应式网站建设公司 达州网站设计