Oracle创建主键并实现自增

本文介绍了在Oracle中如何创建主键并实现自增。首先,通过创建表`users`设置`userid`为主键,然后创建序列`user_Sequence`用于自增。接着,为表创建触发器`users_trigger`,在插入数据前自动填充主键值。最后,展示了删除表、序列和触发器的语句,并提示读者可以尝试插入数据验证效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建数据库表 设置主键

create table users(
  userid number(10) primary key, /*主键,not null*/
  username varchar2(20)
);

附  删除表:drop table users;

2、创建序列自增

CREATE SEQUENCE user_Sequence
  INCREMENT BY 1 -- 每次加几个 
  START WITH 1 -- 从1开始计数 
  NOMAXVALUE -- 不设置最大值 
  NOCYCLE -- 一直累加,不循环 
  CACHE 100; 
附  删除序列: DROP SEQUENCE user_Sequence

创建好序列之后,就手动可以添加数据了,可以多执行几次

insert into users(userid ,username ) values(user_Sequence.nextval,'小A');

查询表数据看看效果

select userid ,username from users

3、实际开发中创建触发器实现自增!   

create or replace trigger users_trigger    --users_trigger    触发器名称
before insert on users                  --users是表名
for each row
declare
nextid number;
begin
IF :new.userid IS NULL or :new.userid=0 THEN                 --userid是列名
select user_Sequence.nextval                                              --user_Sequence 正是刚才创建的序列
into nextid
from sys.dual;
:new.userid:=nextid;
end if;
end users_trigger ;                                       --users_trigger  触发器名称

附 删除触发器:drop trigger users_trigger;

再次插入数据试试效果吧!!!!

insert into users(username ) values('小B');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值