在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://www.mswzjz.cn/qtweb/news37/432937.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能