在Oracle下基于序列和触发器实现主键自增长

本文详细介绍如何在Oracle数据库中创建表格、序列及触发器,并通过实例演示如何使用这些工具自动填充主键字段。文章还展示了如何利用所创建的结构进行数据插入。

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

drop   table  book;
drop  sequence book_seq;
drop   trigger  book_tri;
-- 创建表格
create   table  book
(
bookId 
integer   primary   key   not   null ,
bookName 
varchar2 ( 20 ),
price 
number ( 3 )
)tablespace zfs_data
desc   book;
-- 创建序列
--
创建一个从10000开始每次递增为1的序列
create  sequence book_seq minvalue  10000  maxvalue  9999999  increment  by   1  start  with   10000  ;
-- 创建一个触发器,用于每次插入前自动成成序列的值
create   or   replace   trigger  book_tri
  before 
insert   on  book  for  each row
  
begin
    
select  book_seq.nextval  into  :new.bookId  from  dual;
  
end ;
/   
commit ;  

insert   into  book (bookName, price)  values ( ' 深入浅出EXTJS ' , 59 );
insert   into  book (bookName, price)  values ( ' 深入浅出Jquery ' , 49 );

select   *   from  book;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值