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

表名:servicelogs字段名称类型idint(主键,自增)servicetypevarchar(100)outsysvarchar(100)methodnameva... 表名:servicelogs
字段名称 类型
id int (主键,自增)
servicetype varchar (100)
outsys varchar (100)
methodname varchar (100)
methodresult varchar (200)
errormessage varchar (900)
inparameter varchar (900)
returncontent varchar (900)
logtime varchar (20)
展开
 我来答
Bluebird白玉
推荐于2018-03-02 · TA获得超过663个赞
知道小有建树答主
回答量:467
采纳率:100%
帮助的人:274万
展开全部
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;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式