在oracle数据库中创建表语句如何写?

2020-06-03 社会 80阅读
Oracle不能再建表语句中实现自增的,需要借助sequence才能实现,,设置主键只需要在字段后面加primary key关键字即可
create table servicelogs(
id number(8) primary key,
servicetype varchar(100),
outsys varchar(100),
methodname varchar(100),
methodresult varchar(200),
errormessage varchar(900),
inparameter varchar(900),
returncontent varchar(900),
logtime varchar(20)
);
创建序列号:
create sequence servicelogs_sequence
increment by 1 --步长,每次增加几
start with 1 --从几开始,这里是1
nomaxvalue --不设置最大值
nocycle --一直累加,不循环
nocache; --不建缓冲区
当然到此也可以结束,每次调用手动调用(序列名称.nextcal),但是这样比较麻烦,还是建立一个触发器
create or replace trigger servicelogs_trig before
insert on servicelogs for each row
begin
select servicelogs.nextval into new.id from dual;
end;
测试:
insert into servicelogs(servicetype)values('aaab');
select * from servicelogs;
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com