Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240531
  • 博文数量: 49
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 530
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-06 08:57
文章分类

全部博文(49)

文章存档

2009年(5)

2008年(44)

我的朋友

分类: WINDOWS

2008-08-11 10:29:21

1,sequence 概念:
2,创建一个sequence:
SQL> create sequence testse2
  2  increment by 1
  3  start with 1;
序列已创建。
3,SQL> select testse2.currval from test1;
select testse2.currval from test1
       *
第 1 行出现错误:
ORA-08002: 序列 TESTSE2.CURRVAL 尚未在此会话中定义
 
4,查询sequence的下一个值NEXTVAL:NEXTVAL must be issued for that sequence bebofe CURRVAL contains a value;
SQL> select testse2.nextval from test1;
   NEXTVAL
----------
         1
         2
         3
         4
         5
         6
         7
已选择7行。
 
5,查询sequence当前值;
SQL> select testse2.currval from test1;
   CURRVAL
----------
         7
         7
         7
         7
         7
         7
         7
已选择7行。
 
6,使用sequence向表中插入currval值;
SQL> insert into test3
  2  values(testse2.currval,'kong','unkown');
已创建 1 行。
SQL> select * from test3;
        ID LNAME                FNAME
---------- -------------------- --------------------
        14 kong                 unkown

7,使用sequence向表中插入nextval值;
SQL> insert into test3
  2  values(testse2.nextval,'kongkong','unkown');
已创建 1 行。
SQL> select * from test3;
        ID LNAME                FNAME
---------- -------------------- --------------------
        14 kong                 unkown
        15 kongkong             unkown
 
8,sequence中的起始值不可改变;
SQL> alter sequence testse2
  2  start with 2;
start with 2
*
第 2 行出现错误:
ORA-02283: 无法更改启动序列号
 
9,序列的递增形式;
SQL> select testse2.nextval from test3;
   NEXTVAL
----------
        25
        35
SQL> insert into test3
  2  values(testse2.currval,'kong3','unknow');
已创建 1 行。
 
SQL> select * from test3;
        ID LNAME                FNAME
---------- -------------------- --------------------
        14 kong                 unkown
        15 kongkong             unkown
        55 kong3                unknow
 
SQL> select testse2.nextval from test3;
   NEXTVAL
----------
        65
        75
        85
 
10,删除序列sequence;
SQL> drop sequence testse1;
序列已删除。
阅读(2499) | 评论(0) | 转发(0) |
0

上一篇:oracle TOP_N Analysis

下一篇:oracle index

给主人留下些什么吧!~~