Ian 懶惰蟲筆記
2009年2月8日 星期日
MySQL、MS SQL 與 Oracle 的自動編號使用方法
MySQL、MS SQL 的自動編號比較方便,只要將在欄位設定
AUTO_INCREMENT
或
IDENTITY
,但在 Oracle 就要先增加一個
Sequence
物件,然後利用這個 Sequence 來產生編號。以下為使用範例︰
MySQL︰
-- 建立資料表
CREATE TABLE member
(
uid INT NOT NULL AUTO_INCREMENT,
name VARCHAR( 50 ) NOT NULL,
PRIMARY KEY ( uid )
)
-- 新增一筆資料
INSERT INTO member VALUES ( NULL , 'Ian' )
-- 取得自動編號的值
SELECT LAST_INSERT_ID()
MS SQL︰
-- 建立資料表
CREATE TABLE [member]
(
[uid] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NULL
) ON [PRIMARY]
-- 新增一筆資料
INSERT INTO [member] VALUES ( 'Ian' )
-- 取得自動編號的值
SELECT SCOPE_IDENTITY()
Oracle︰
-- 建立資料表
CREATE TABLE "member"
(
"uid" NUMBER,
"name" NVARCHAR2(50)
);
-- 建立 Sequence
CREATE SEQUENCE "seq_member"
MINVALUE 1
MAXVALUE 999999999
INCREMENT BY 1
START WITH 1
-- 新增一筆資料並利用 Sequence 自動產生編號
INSERT INTO member VALUES(seq_member.NEXTVAL,'Ian')
-- 取得自動編號的值
SELECT seq_member.CURRVAL FROM DUAL
深入閱讀︰
GTN Network Solution - [Oracle] Oracle 產生自動編號方式
沒有留言:
張貼留言
‹
›
首頁
查看網路版
沒有留言:
張貼留言