【发布时间】:2016-08-09 01:45:48
【问题描述】:
我想为 Oracle 11g 中的主键生成一个 7 位标识符。主键的长度必须为 7 位。
这是我的代码:
CREATE SEQUENCE sequence_staff
MINVALUE 1
START WITH 1
INCREMENT BY 1;
CREATE TABLE Staff (
Staff_ID INT PRIMARY KEY, --Autoincrement 7 digit --PK
Surname VARCHAR2(50) NOT NULL,
Firstnames VARCHAR2(50) NOT NULL,
Phone VARCHAR2(30) NOT NULL, --D1
Address VARCHAR2(150) NOT NULL
);
当前主键是 1(1 位),而不是 0000001(7 位)。有什么想法吗?
【问题讨论】:
-
从 1000000 开始!
-
是否可以有这样的主键:0000001?
-
如果你从 1 开始,你不能有一个总是七位数的数字(在你的情况下是 int);前导零不是数字的一部分。您可以拥有一个用零填充序列值填充的七字符列;或者你可以有一个数字,你可以用零填充来显示(或在虚拟列中)。你要哪个?
标签: sql oracle oracle11g auto-increment