•rownum是一个伪列,它会根据返回的记录生成一个序列化的数字,rowid就是唯一标志记录物理位置的一个id,内容是当前行位于哪个文件,块,行的详细信息。
•select rownum,deptno,ename,job,mgr
from emp where rownum>=10 && rownum <20;(第二页数据)
•序列(Sequence)是Oracle提供的的用于产生一组等间隔整型数值的数据库对象,可以通过在插入语句中使用序列值来实现主键自增。Oracle中的CREATE SEQUENCE命令用于创建序列
CREATE SEQUENCE sequnce_name
[START WITH n1] //指定要生成的第一个序列号
[INCREMENT BY n2] //用于指定序列号之间的间隔,默认值为1
[{MAXVALUE n3 | NOMAXVALUE}]
//指定序列可以生成的最大值
[{MINVALUE n4 | NOMINVALUE}]
//指定序列可以生成的最小值
[{CACHE n5 | NOCACHE}] //用于指定在高速缓存中可以预分配的序列号个数,默认为20
[{CYCLE | NOCYCLE}] //用于指定在达到序列的最大值或最小值后是否循环
[ORDER]; //用于指定按顺序生成序列号
,确保序列唯一和有序
•NEXTVAL和CURRVAL列
•NEXTVAL列返回序列生成的下一个值
•CURRVAL列返回序列生成的当前值
•序列的初始化
•在第一次引用CURRVAL列之前,必须引用过一次NEXTVAL列,用于初始化序列的值,否则会出现错误提示
•select seq_id.nextval
from dual
•select seq_id.currval
from dual
•在SQL语句中使用序列
•在SQL语句中,可以直接使用引用序列的值
•insert into tab_test
values(seq_test.nextval,1,'张三');
•truncate
table
shopinfo;
截断表 速度快 数据库定义语言语句效率高
•NUMBER类型可以存储正数、负数、零、定点数和精度为38位的浮点数
•NUMBER(M,N)。其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数
评论区