序列(SEQUENCE)是
序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}] INCREMENT BY 用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的。 START WITH 定义序列的初始值(即产生的第一个值),默认为1。 MAXVALUE 定义序列生成器能产生的最大值。选项NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增序列,系统能够产生的最大值是10的27次方对于递减序列,最大值是-1。 MINVALUE定义序列生成器能产生的最小值 ...两者是完全不同的东西
游标是基于查询结果集的
比方说你的一个select语句查询出了若干条记录这样一个结果集,如果你想对结果集中的每一行都进行一个判断或则其他 *** 作,那么用sql语句的update或者就不能满足针对每一行的特定 *** 作,这个时候游标就发挥作用了:
你可以把这个结果集定义成一个游标,通过游标的 *** 作形式,你可以遍历结果集中的每一行记录并可以对它进行 *** 作,也就是你可以通过游标对一个select查询出的结果执行for循环来遍历 *** 作数据。
而序列则是oracle中的一种对象,就像表、视图一样,你可以像建表一样:create table……
来建序列:create sequence……
只是它的结构和作用与表不同,它是一个规则的自动增加的数字序列,一般用来作为代理主键,或者作为序号生成器。
评论列表(0条)