2013-02-02 89 views
0

我有兩行的表,其中一個ID與自動增量和有很多行最後的數字ID是89.然後我截斷表中的數據/行。然後我再插入一行。截斷數據,如果插入新的行列增量從1

但從90號碼不是從1(一)。如果在mysql中如果我截斷表中的數據,自動增量從1開始(一)再次。那麼如何在oracle中我想從一個ID自動遞增。感謝名單。

下面步驟,當我創建表:

// create table; 
CREATE TABLE tes (
    id NUMBER NULL, 
    ip_address varchar2(25) NOT NULL 
    PRIMARY KEY (id) 
); 

// and create increment; 
CREATE SEQUENCE tes_sequence START WITH 1 INCREMENT BY 1; 

// and create trigger; 
CREATE OR REPLACE TRIGGER tes_trigger 
BEFORE INSERT 
ON tes 
REFERENCING NEW AS NEW 
FOR EACH ROW 
BEGIN 
SELECT tes_sequence.nextval INTO :NEW.ID FROM dual; 
END; 

回答

5

甲骨文序列是一個單獨的對象,並且不與表相連。如果您需要在截斷表格後開始序列,則需要更改序列。看看這裏:How do I reset a sequence in Oracle?

+0

哦,我明白了。好的解決了。 Tnx兄弟。 –