小弟最近在將一個資料庫為MS SQL的系統轉變為OracleMS SQL在自動編號上比較方便,只要將欄位設定為IDENTITY(1,1)就可以了但在Oracle就要先增加一個Sequence,然後利用這個Sequence來產生編號
以下為MS SQL與Oracle要達到自動編號的比較(DDL):
MS SQL
--建立資料表 CREATE TABLE [Table] ( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL ) ON [PRIMARY] --新增一筆資料 INSERT INTO [TABLE] VALUES('puma')
Oracle
--建立資料表 CREATE TABLE "TEST" ( "ID" NUMBER, "NAME" NVARCHAR2(50) ) ; --建立Sequence CREATE SEQUENCE "SEQ_TEST" MINVALUE 1 MAXVALUE 999999999 INCREMENT BY 1 START WITH 1 ; --新增一筆資料並利用Sequence自動產生編號 INSERT INTO TEST VALUES(SEQ_TEST.NEXTVAL,'F6 TEAM')
參考網址:http://proxy.gtn.com.tw/forum/index.php?topic=25.0