小弟最近在将一个数据库为MS SQL的系统转变为Oracle
MS SQL在自动编号上比较方便,只要将字段设定为IDENTITY(1,1)就可以了
但在Oracle就要先增加一个Sequence,然后利用这个Sequence来产生编号
小弟最近在将一个数据库为MS SQL的系统转变为Oracle
MS 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