Oracle設置主鍵自增

oracle沒有mysql那樣能夠有自增主鍵,須要本身經過建立序列才能實現自增mysql

/*建立自增序列*/
CREATE SEQUENCE CMB_CHINA_CITYS_ID
MINVALUE 1       --最小值
NOMAXVALUE       --不設置最大值
START WITH 1     --從1開始計數
INCREMENT BY 1   --每次加1
NOCYCLE          --一直累加,不循環
NOCACHE;         --不建緩衝區

說明:sql

CMB_CHINA_CITYS_ID:序列名稱oracle

插入語句的時候就能夠使用CMB_CHINA_CITYS_ID.nextval,方式來獲取序列spa

 上面的只是自動建立ID,插入數據的時候得手動調用,若是想方便一點,咱們還能夠加入一個觸發器,當程序插入數據以前觸發code

CREATE OR REPLACE TRIGGER TRIGGER_TABLE_AUTO_INCREA_ID
BEFORE INSERT ON TABLE_NAME  
FOR EACH ROW    
DECLARE  
BEGIN    
SELECT TABLE_NAME.NEXTVAL INTO :NEW.ID FROM DUAL;  
END TRIGGER_TABLE_AUTO_INCREA_ID;

說明:blog

TRIGGER_TABLE_AUTO_INCREA_ID:觸發器名稱class

TABLE_NAME:表名循環

相關文章
相關標籤/搜索