DB2和Oracle中新建sequence DB2 sequence 的創建是否帶有雙引號,引發的一個生產系統問題 www.2cto.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 ---------------------------------------------------------------