DB2和Oracle中新建sequence

DB2 sequence 的创建是否带有双引号,引发的一个生产系统问题

create sequence x3; -- 执行成功

create sequence "x3" -- 执行成功

(实际上创建了一个名称为 "x3" 的sequence,也可以用 X3 来访问)

values Nextval for x3 --执行成功,值为 1

values prevval for X3 --执行成功,值为 1


create sequence Y3; -- 执行成功,可以用 Y3 和 y3 或者 "Y3" 来访问

create sequence "Y3" -- 执行失败 报已经存在错误

values Nextval for Y3 -- 执行成功,值为 1

values Nextval for y3 -- 执行成,值为 2


create sequence z3; -- 执行成功

create sequence "z3" -- 执行成功

(实际上创建了一个名称为 "z3" 的 sequence,注意是带引号的)

--values prevval for z3 -- 报错 因为还没有值所以报错

values Nextval for z3 -- 执行成功,值为 1

values Nextval for z3 -- 执行成功,值为 2

values Nextval for "z3" -- 执行成功,值为 1

---------------------------------------------------------------

ORACLE sequence

create sequence x3; -- 执行成功

create sequence "x3" -- 执行成功

(说明在 oracle 中 创建 sequence 当引号中有小写字母的时候,带引号和不带引号是不一样的)

--select x3.prevval from dual -- 报错

--select X3.prevval from dual -- 报错

select x3.Nextval from dual -- 执行成功 值为 1

select x3.Nextval from dual -- 执行成功 值为 2

select X3.Nextval from dual -- 执行成功 值为 3 实际上是 x3 这个 sequence

select "x3".nextval from dual -- 执行成功 值为 1

select "x3".nextval from dual -- 执行成功 值为 2

-------------------------------

create sequence Y3; -- 执行成功

create sequence "Y3" -- 执行失败,报错,提示已经存在,

(说明 oracle 中创建 sequence 如果是大写字母,跟创建带引号的是一样的。)

select Y3.nextval from dual -- 执行成功 值为 1

select "Y3".nextval from dual -- 执行成功 值为 2

-------------------------------

create sequence "A" -- ok

select "A".nextval from dual -- ok

select a.nextval from dual -- ok

select A.nextval from dual -- ok

select "A".nextval from dual -- ok

select "a".nextval from dual -- error

-------------------------------

create sequence "b" -- ok

select "b".nextval from dual -- ok

select b.nextval from dual -- error

select B.nextval from dual -- error

select "B".nextval from dual -- error

select "b".nextval from dual -- ok

-------------------------------

create sequence "a"

select a.nextval from dual --error

select A.nextval from dual --error

select "a".nextval from dual -- ok

select "A".nextval from dual -- error

-------------------------------

create sequence "B"

select b.nextval from dual -- ok

select B.nextval from dual -- ok

select "b".nextval from dual -- error

select "B".nextval from dual -- ok

drop sequence B --ok

drop sequence a --error

drop sequence "a" --ok

create sequence "B" -- ok

drop sequence b --ok

create sequence "B" -- ok

drop sequence "b" --error

drop sequence b -- ok

---------------------------------------------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值