侧边栏壁纸
  • 累计撰写 781 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

Oracle

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 120 阅读 / 1,031 字
温馨提示:
本文最后更新于 2022-04-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
/ DATA / Oracle
cte
with as
row_number()
over

分页用 Top 3

连接用PLSql

联结时也能用Using()

自增和mysql不同.

•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表示小数点右边数字的位数

0

评论区