好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

DB2和Oracle中新建sequence

DB2和Oracle中新建sequence

 

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

  www.zzzyk.com  

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 

 

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

 

查看更多关于DB2和Oracle中新建sequence的详细内容...

  阅读:33次