重庆思庄Oracle、Redhat认证学习论坛

标题: select XX_id_seq.nextval from dual执行报错 [打印本页]

作者: 刘泽宇    时间: 2021-10-31 20:19
标题: select XX_id_seq.nextval from dual执行报错
dual :是oracle 数据库中的虚拟表,并不是真实存在的
XX_id_seq:这个是我们创建序列时自定义的一个序列名称
ctg_fault_list_id_seq.nextval:这个是取出序列的下一个值,序列可以用户id生成器,每次我们都通过序列取到不同的值,并且不会重复
select XX_id_seq.nextval from dual这个语句执行时报错,是由于用户没有sequence的权限

要有创建序列的权限
create sequence 或 create any sequence

创建序列的语法
  CREATE SEQUENCE sequence  //创建序列名称
       [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
       [START WITH n]    //开始的值,递增默认是minvalue 递减是maxvalue
       [{MAXVALUE n | NOMAXVALUE}] //最大值
       [{MINVALUE n | NOMINVALUE}] //最小值
       [{CYCLE | NOCYCLE}] //循环/不循环
       [{CACHE n | NOCACHE}];//分配并存入到内存中

  NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
  CURRVAL 中存放序列的当前值
  NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2