如果想用sequence 當PK ,就得先建立一個sequence 物件 -- 建立一個sequence, 可指定每次加1,自動加1,最小值以及最大值 create sequence {TheNameForSequence} start with 1 increment by 1 MINVALUE 1 MAXVALUE 99999999; -- 建立TABLE { target_table } (略,不過請把要抓取sequence 的欄位datatype設為NUMBER,可以不限定長度) -- 新增一筆資料進入這個TABLE 使用上述 sequence: insert into target_table (PK_column, column2, column3) values ( {TheNameForSequence}.nextval, "column2.value", "column3.value" ); -- 可以查詢目前 sequence 幾多號 SQL> show sequence {TheNameForSequence} ; -- 其他參數 CACHE 20 (預設值) NOORDER (預設值) NOCYCLE (預設值) NOORDER or ORDER 不能跟 NOCACHE 一起用 -- sequence 的好處 可以讓oracle 自動幫你找到一個unique的KEY (如果你完全只使用預設參數的話,絕對可以抓到唯一的sequence,除非.....用完了 >___ -- 最末 PK 要用 sequence 還是 varchar2,個人認為應該是要看你的PK有沒有可能需要手動編碼OR需要被修改,如果都不需要修改的話,sequence 當PK是可以的。 -- reference http://www.oracle.com/technology/products/rdb/pdf/0307_sequences.pdf