由於 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 部落

jck11 發表在 痞客邦 PIXNET 留言(0) 人氣()