Oracle建立栏位自动编号

前言

  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 共用。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部