oracle序列sequence的创建、删除、查询及判断序列是否存在

作为笔记使用

1、创建序列:

create sequence seq_xx   --创建序列名称
increment by 1  --增长幅度
start with 1  --初始值
maxvalue 9999999999999999;  --最大值

2、查询序列:

select seq_xx.nextval from dual;

--或者select seq_xx.nextval from sys.dual;

每查询一次,序列按自定义增长;

3、删除序列:

DROP SEQUENCE seq_xx;

4、判断序列是否存在,存在则删除:

有些情况下使用不合理,删除已有序列,再新建同名序列之后,重新使用该规则,可能会对已使用该序列数据造成影响。

declare   
 V_NUM number;   
BEGIN  
  ----多次删除时,每次都将v_num设置成为0
    V_NUM := 0;  
    ----判断序列 seq_name_1 是否存在(区分大小写)
    select count(0) into V_NUM from user_sequences where sequence_name = 'SEQ_XX'; 
    ----如果存在立即删除  
    if V_NUM > 0 then   
    execute immediate 'DROP SEQUENCE  SEQ_XX'';   
    end if;

END;

/

加了“/”之后,可以在后面接其他的SQL语句;

5、查询序列大小写问题

select * from user_sequences;   --查找用户建的序列


我们发现字段SEQUENCE_NAME的值里面有刚才创建的SEQ_XX,这就解释了为什么判断存在时候名字区分大小写了

判断序列是否存在引用https://blog.csdn.net/jay329106193/article/details/7637665

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值