文章分類

C# (27) ASP.NET (13) SQL (7) ORACLE (5) JAVA (2) SQLSERVER2008 (2) 大家都在問的事 (2) ACCESS (1) ANDRIOD (1) JQUERY (1) python (1) 雜談 (1)

關於我自己

我的相片
程式初心者 JAVA, ASP.NET, C# ,SQL

2011年7月21日 星期四

[ORACLE]建資料表時使用自動編號

ORACLE 並沒有像ACCESS和MS-SQL等資料庫有提供自動編號功能,
讓習慣用流水號當主鍵的我覺得十分不習習慣
爬了文發現了其實可以用別的方式來達成
在ORACLE裡下以下的語法

    CREATE SEQUENCE MySEQUENCE
    INCREMENT BY 1  -- 每次加幾個
    START WITH 1    -- 從1開始計數
    NOMAXVALUE      -- 不設置最大值
    NOCYCLE         -- 一直累加,不循環
    CACHE 10;

或自行定義最大最小值

CREATE SEQUENCE MySEQUENCE
MINVALUE 1                        --最小值
MAXVALUE 10000000      -最大值
START WITH 1                     -- 從1開始計數
INCREMENT BY 1               -每次加1
NOCACHE







接下來只要帶INSERT SQL時動手腳就好了,就可以自動編號了!

INSERT INTO emp VALUES 
(MySEQUENCE.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);

沒有留言:

張貼留言