2010-05-22 23:32

[Oracle] Sequence 取號函數

  1. -- [新增] 
  2. CREATE SEQUENCE my_sequence 
  3.    INCREMENT BY 1 
  4.    START WITH 1 
  5.    MAXVALUE 99999999999 
  6.    NOCYCLE 
  7.    CACHE 10 
  8. ; 
  9.  
  10. -- 參數說明: 
  11. INCREMENT BY n  -- 每次疊加的值(正負數) 
  12.  
  13. START WITH n  -- 指定初始值,建立後將無法透過 ALTER 修改 
  14.  
  15. MAXVALUE n  -- 最大編號 
  16. NOMAXVALUE  -- (預設)不設置最大值,由系統上限決定 
  17.  
  18. MINVALUE n  -- 最小編號 
  19. NOMINVALUE  -- (預設 1)不設置最小值 
  20.  
  21. CYCLE  -- 當取至最大值後,是否循環再由最小值開始 
  22. NOCYCLE  -- (預設)不設置循環,當超過限制時將返回異常 
  23.  
  24. CACHE n  -- (預設 20)系統會一次取出 n 個數作為快取,但會造成跳號的現象 
  25. NOCACHE  -- 不使用快取,保證在產生的編號中沒有跳號,但這樣會降低性能. 
  26.  
  27.  
  28.  
  29. -- [修改] 
  30. ALTER SEQUENCE my_sequence 
  31.    INCREMENT BY 10  
  32.    MAXVALUE 10000 
  33.    CYCLE 
  34.    NOCACHE 
  35. ; 
  36.  
  37.  
  38.  
  39. -- [刪除] 
  40. DROP SEQUENCE my_sequence; 
  41.  
  42.  
  43.  
  44. -- [使用方式] 
  45. my_sequence.CURRVAL -- 返回序號的當前值 
  46. my_sequence.NEXTVAL -- 增加序號的值,然後返回序號值 


參考來源:
Oracle 產生自動編號方式

0 回應: