问题描述:oracle中的序列是什么,如何使用。
解决方案:
oracle中的序列是什么? 简单的来说,把他理解为sql server中的主键。因为Oracle没有办法像sql server一样为某个字段设置为主键自增,所有有了序列这个概念
实列:
1.创建序列:
2.查询创建的序列的下一个值:
3.再次执行,自增序列会变成4,每执行一次+1,因为增量设置的是1
4.创建测试表:
create table Student( stuId number(9) not null, stuName varchar2(20) not null, stuMsg varchar2(50) null )
5.插入测试数据
insert into Student(stuId,Stuname) values(Student_stuId_Seq.Nextval,'张三'); insert into Student(stuId,Stuname) values(Student_stuId_Seq.Nextval,'李四');
6.查询结果:
7.同一个序列可以被多个表使用,也可以一个序列一个表,具体看项目需求:
创建第二种测试表:
create TABLE TEACHER( TID number(9) not null, TName varchar2(20) not NULL ); insert into TEACHER(TID,TName) VALUES(TSEQ.Nextval,'李老师'); insert into TEACHER(TID,TName) values(TSEQ.Nextval,'王老师');
8.查询测试表TEACHER