在oracle sql中创建唯一的数字标识符列

时间:2014-09-13 06:37:40

标签: sql oracle

我有一张表有状态列表。我这样做是为了创建表格:

CREATE TABLE drb (
  Statename VARCHAR2(15)
)

然后我插入了状态数据。但是,我希望我的第一列成为创建的唯一状态ID。所以它应该列出美国50个州的1-50。我尝试搜索不同的独特教程like this,似乎没有任何效果。

基本上,我想知道如何为变量

获取唯一的数字键

1 个答案:

答案 0 :(得分:0)

你的表应该有id字段和statename,以这种方式添加。

CREATE TABLE drb (
  id NUMBER,
  Statename VARCHAR2(15)
);

id设为primary key

alter table drb
add constraint drb_pk primary key (id);

按如下方式创建序列:

create ore replace sequence drb_sequence
 start with 1 increment by 1;

创建一个触发器,它将一个唯一的id插入drb表中,如下所示:

create or replace trigger drb_trigger
before insert on drb
for each row
begin
select drb_sequence.nextval into :new.id from dual;
end;
/

现在插入drb

insert into drb(Statename) values('state one');

drb

中选择
select * from drb;

输出

--------------------------
|id          Statename   |
--------------------------
|1           state one   |
--------------------------

希望它有所帮助。