免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5368 | 回复: 6
打印 上一主题 下一主题

[数据库] oracle 一个简单的序列不正常 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-02 10:57 |只看该作者 |倒序浏览
我有一个book的空表,然后创建了一个序列:

SQL> desc book;
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
BOOKID                                    NOT NULL NUMBER(12)
BOOKNAME                                  NOT NULL VARCHAR2(32)
PRICE                                              NUMBER(5,2)
PRINTTIME                                          DATE

SQL> create sequence bookID
  2  Start with 1
  3  Increment by 1
  4  Maxvalue 99999999
  5  nocache
  6  nocycle;


SQL> select * from user_sequences;

SEQUENCE_NAME                   MIN_VALUE  MAX_VALUE INCREMENT_BY C O CACHE_SIZE
------------------------------ ---------- ---------- ------------ - - ----------
LAST_NUMBER
-----------
BOOKID                                  1   99999999            1 N N          0
          1


然后插入两条数据:

SQL> insert into book(bookid,bookname)
  2  values(bookID.Nextval,'sanmao');

1 row created.

SQL> insert into book(bookid,bookname)
  2  values(bookID.Nextval,'xiaoxueliunianjishuxue');

1 row created.


然后查看表:

SQL> select * from book;

    BOOKID BOOKNAME                              PRICE PRINTTIME
---------- -------------------------------- ---------- ---------
         2 sanmao
         3 xiaoxueliunianjishuxue

SQL> select bookid.currval from dual;

   CURRVAL
----------
         3


这个BOOKID 为什么从2开始? 应该是从1开始啊, 请指点。

谢谢

论坛徽章:
459
亥猪
日期:2014-05-31 12:08:03亥猪
日期:2014-05-31 12:07:38亥猪
日期:2014-05-31 12:08:04亥猪
日期:2014-05-31 12:07:43亥猪
日期:2014-05-31 12:07:52亥猪
日期:2014-05-31 12:08:09亥猪
日期:2014-05-31 12:07:51亥猪
日期:2014-05-31 12:08:02亥猪
日期:2014-05-31 12:07:59亥猪
日期:2014-05-31 12:07:37亥猪
日期:2014-05-31 12:07:50亥猪
日期:2014-05-31 12:07:39
2 [报告]
发表于 2014-04-02 16:11 |只看该作者
bookID.Nextval

你试试bookid.currval

论坛徽章:
459
亥猪
日期:2014-05-31 12:08:03亥猪
日期:2014-05-31 12:07:38亥猪
日期:2014-05-31 12:08:04亥猪
日期:2014-05-31 12:07:43亥猪
日期:2014-05-31 12:07:52亥猪
日期:2014-05-31 12:08:09亥猪
日期:2014-05-31 12:07:51亥猪
日期:2014-05-31 12:08:02亥猪
日期:2014-05-31 12:07:59亥猪
日期:2014-05-31 12:07:37亥猪
日期:2014-05-31 12:07:50亥猪
日期:2014-05-31 12:07:39
3 [报告]
发表于 2014-04-02 16:11 |只看该作者
删了重新建。
用bookid.currval

论坛徽章:
1
酉鸡
日期:2013-12-20 01:21:29
4 [报告]
发表于 2014-04-03 11:18 |只看该作者
是不是执行了一次select bookID.Nextval from dual???

论坛徽章:
0
5 [报告]
发表于 2014-04-03 12:16 |只看该作者
LZ第一句insert用的就是next interval. 默认是1,你用next不就是2

论坛徽章:
0
6 [报告]
发表于 2014-04-17 09:51 |只看该作者
谢谢楼上各位,我明白了!

论坛徽章:
0
7 [报告]
发表于 2014-04-23 13:52 |只看该作者
肯定是1已经被使用过了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP