前言
Oracle 没有类似 MS-SQL 可以直接修改栏位属性,设定成自动编号栏位,所以我们必须透过 Sequence 物件的 nextval 方法,取得其下一个值,然后将此值新增至 TABLE 中,制造出有自动编号的效果。
方法
Sequence 物件的语法:
Create SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;
//建立 Table
Create Table MarsTest(
ID_ NUMBER(10,0) NOT NULL,
Content VARCHAR2(250)
);
//建立 Sequence
1.使用预设值
Create Sequence Seq_MarsTest;
2.使用自订
Create Sequence Seq_MarsTest
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;
//新增资料
Insert INTO?MarsTest (ID_, Content)
VALUES (Seq_MarsTest.NEXTVAL, 'MarsTest');
从上面的例子,我们也可以发现到,我们是在 Insert 时,才将 Sequence 与 Table 產生关係,所以 Sequence 不只是提供给特定 Table 使用,也能给其他任一个 Table 共用。