oracle序列操作

本文介绍Oracle数据库中序列的创建、查询、修改与删除等基本操作,并提供了实例代码,包括如何获取序列的下一个值及当前值。

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

--  序列操作 --

 

-- 创建序列
CREATE SEQUENCE u_sales_SEQ INCREMENT BY 1 START WITH 1 MINVALUE 1 NOCYCLE NOCACHE NOORDER;

 

-- 查出所有存在的序列

SELECT * FROM  user_sequences  

 

-- 删除序列

DROP  SEQUENCE  U_SALES_SEQ;

 

-- 查出下一个序列ID

SELECT  U_SALES_SEQ.nextval  FROM  DUAL

 

-- 查出当前序列的ID

SELECT  U_SALES_SEQ.currval   FROM  DUAL;

 

 

  2、Alter Sequence
  你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有  

      sequence参数.如果想要改变start值,必须 drop sequence 再 re-create .
  Alter sequence 的例子
  ALTER SEQUENCE emp_sequence
  INCREMENT BY 10
  MAXVALUE 10000
  CYCLE -- 到10000后从头开始
  NOCACHE ;
  影响Sequence的初始化参数:
  SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。
  可以很简单的Drop Sequence
  DROP SEQUENCE order_seq;

 

 --建触发器
  CREATE OR REPLACE TRIGGER table1_tg
  BEFORE INSERT ON table1
  FOR EACH ROW
  BEGIN
  SELECT table1_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值