由於 Oracle 沒有像 SQL Server , MDB等資料庫,有欄位型態為 "自動編號" 的東西
因此需建立 Sequence Object , 當需要一組新的編號時再取號碼來用
Sequence Object 建立方式 :
Create Sequence SequenceObjectName
MINVALUE 1
MAXVALUE 99999999
INCREMENT BY 1
START WITH 1
NOCACHE
CYCLE;
參數說明如下 :
SequenceObjectName : 循序物件名稱
MinValue : 最小值
MaxValue : 最大值
Increment By : 每次增加
Start With : 從多少開始
Nocache : 不快取
Cycle : 當取至最大值後, 是否循環再由最小值開始
取用一組新的值 :
SELECT 循序物件名稱.NEXTVAL FROM DUAL
得知目前使用到幾號 :
SELECT 循序物件名稱.CURRVAL FROM DUAL
在Delphi裡可以這樣用
dm.acmd.commandtext:='insert into TEST(FPKNO)Values(SequenceObjectName.NEXTVAL)';
dm.acmd.execute;
在php裡可以這樣用
$sql="INSERT INTO TEST(PKNO)VALUES(SequenceObjectName.nextval)";
參考資料:強力鎯頭 の VB 部落
因此需建立 Sequence Object , 當需要一組新的編號時再取號碼來用
Sequence Object 建立方式 :
Create Sequence SequenceObjectName
MINVALUE 1
MAXVALUE 99999999
INCREMENT BY 1
START WITH 1
NOCACHE
CYCLE;
參數說明如下 :
SequenceObjectName : 循序物件名稱
MinValue : 最小值
MaxValue : 最大值
Increment By : 每次增加
Start With : 從多少開始
Nocache : 不快取
Cycle : 當取至最大值後, 是否循環再由最小值開始
取用一組新的值 :
SELECT 循序物件名稱.NEXTVAL FROM DUAL
得知目前使用到幾號 :
SELECT 循序物件名稱.CURRVAL FROM DUAL
在Delphi裡可以這樣用
dm.acmd.commandtext:='insert into TEST(FPKNO)Values(SequenceObjectName.NEXTVAL)';
dm.acmd.execute;
在php裡可以這樣用
$sql="INSERT INTO TEST(PKNO)VALUES(SequenceObjectName.nextval)";
參考資料:強力鎯頭 の VB 部落
全站熱搜
留言列表