我有一张表有状态列表。我这样做是为了创建表格:
CREATE TABLE drb (
Statename VARCHAR2(15)
)
然后我插入了状态数据。但是,我希望我的第一列成为创建的唯一状态ID。所以它应该列出美国50个州的1-50。我尝试搜索不同的独特教程like this,似乎没有任何效果。
基本上,我想知道如何为变量
获取唯一的数字键答案 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 |
--------------------------
希望它有所帮助。