假期周进度总结(三)

本周是从书中学习有关Oracle的知识,每天4个小时左右,首先了解到字符类型的不同,一般创建数据库中要注意到将MySQL中int类型更改为number,将varchar更改为varchar2等等,然后主要是Oracle主键自增的问题,它不同于MySQL中写auto_increment,它需要另外设置,解决办法如下:

1、关于主键:在建表时指定primary key字句即可:
create table test(
id number(6) primary key,
name varchar2(30)
);
如果是对于已经建好的表,想增加主键约束,则类似语法:
alter table test add constraint pk_id primary key(id); 

2创建自动增长序列

 CREATE SEQUENCE TestIncrease_Sequence
 INCREMENT BY 1   -- 每次加几个  
     START WITH 1     -- 从1开始计数  
     NOMAXVALUE       -- 不设置最大值  
     NOCYCLE          -- 一直累加,不循环  
     CACHE 10; 

3创建触发器

CREATE TRIGGER Test_Increase BEFORE
insert ON  test FOR EACH ROW
begin
select TestIncrease_Sequence.nextval into:New.id from dual;

end;

4 提交

commit;

5 测试

insert into Test_Increase(Username) values('test');
然后再查看表中是否出现插入的test,插入成功即为自增设置成功,不过要注意每次设置自增自动增长序列和触发器的名字应该不用,否则可能会出现序号混乱的情况。
下周继续从书上学习有关Oracle的知识。
转自:https://www.cnblogs.com/wang-jx/p/9308971.html(也稍作了些修改)
外加推荐另一种创建触发器方法的网址:https://www.cnblogs.com/xxaxx/p/3584036.html

转载于:https://www.cnblogs.com/z12568/p/9543793.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值