问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle数据库中nextval和values代表什么意思

发布网友 发布时间:2022-04-13 17:00

我来回答

3个回答

热心网友 时间:2022-04-13 18:29

可以通过在 SQL 语句中使用 NEXTVAL 或 CURRVAL 运算符来访问序列的值。必须用以 sequence.NEXTVAL 或 sequence.CURRVAL 格式驻留在同一个数据库中的序列名称(或同义词)来限定 NEXTVAL 或 CURRVAL。表达式也可以用所有者名来限定序列,如 zelaine.myseq.CURRVAL。可以指定 sequence 的 SQL 标识或有效同义词(如果存在的话)。

在符合 ANSI 的数据库中,如果您不是所有者,必须用所有者名(owner.sequence)限定序列名。

要对序列使用 NEXTVAL 或 CURRVAL,必须对序列具有选择特权或对数据库具有 DBA 特权。关于序列级特权的信息,请参阅 GRANT 语句。

使用 NEXTVAL
第一次访问一个序列,在引用 sequence.CURRVAL 之前必须先引用 sequence.NEXTVAL。第一次引用 NEXTVAL,返回序列的初始值。后面每次引用 NEXTVAL,用已定义的 step 增加序列值并返回序列新的增加以后的值。

在一个 SQL 语句中只能对给定的序列增加一次。即使在一个语句中多次指定 sequence.NEXTVAL,序列也只增加一次,所以每次 sequence.NEXTVAL 出现在同一 SQL 语句中返回相同的值。

除了在同一语句中多次出现这种情况以外,每个 sequence.NEXTVAL 表达式都会增加序列,无论后来是否提交或回滚当前事务。

如果在最终回滚的事务中指定 sequence.NEXTVAL,某些序列数可能被跳过。

使用 CURRVAL
任何对 CURRVAL 的引用返回指定序列的当前值,该值是最后一次对 NEXTVAL 的引用所返回的值。用 NEXTVAL 生成一个新值以后,可以继续使用 CURRVAL 访问这个值,不管另一个用户是否增加这个序列。

如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出现在一个 SQL 语句中,则序列只增加一次。在这种情况下,每个 sequence.CURRVAL 和 sequence.NEXTVAL 表达式都返回相同的值,不管在语句中 sequence.CURRVAL 和 sequence.NEXTVAL 的顺序。

序列的并发访问
序列总是在数据库中生成唯一值,即使当多个用户并发地引用同一序列时也没有可察觉的等待或锁定。当多个用户使用 NEXTVAL 来增长序列时,每个用户生成一个其他用户不可见的唯一值。

当多个用户并发地增加同一序列时,每个用户看到的值是有差异的。例如,一个用户可能从一个序列生成一组值,如 1、4、6 和 8,而另一个用户并发地从同一序列生成值 2、3、5 和 7。

*
NEXTVAL 和 CURRVAL 只在 SQL 语句中有效,并不在 SPL 语句中直接有效。(但是使用 NEXTVAL 和 CURRVAL 的 SQL 语句可用于 SPL 例程。)以下*应用于 SQL 语句中的这些运算符:

必须对序列有选择特权。
在 CREATE TABLE 或 ALTER TABLE 语句中,在下列上下文中不能指定 NEXTVAL 或 CURRVAL:
在 DEFAULT 子句中
在检查约束中。
在 SELECT 语句中,下列上下文中不能指定 NEXTVAL 或 CURRVAL:
使用 DISTINCT 关键字时在投影列表中。
在 WHERE、GROUP BY 或 ORDER BY 子句中
在子查询中
在 UNION 运算符结合 SELECT 语句时。
在下列这些上下文中也不能指定 NEXTVAL 或 CURRVAL:
在分段存储表达式中
在对另一个数据库中的远程序列对象的引用中。
示例
在下面的例子中,假设没有其它用户并发地访问序列并且用户连续执行语句。

热心网友 时间:2022-04-13 19:47

nextval是序列发生器的下一个序列值。
values是insert语句的一个关键词,后面跟要插入的一组字段值。

热心网友 时间:2022-04-13 21:22

1.nextval与序列关联,表示下一个,如:
创建里一个序列seq_1:#序列一般表示第几行,起标识作用
create sequence seq_1 increment by 1 start with 1
在表中使用此序列:
INSERT INTO A VALUES (seq_1.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
2.values与insert 连用,标示插入的字段值,如:
有一个表 A,A有三个字段:name,age,sex,都是archar2类型的,则往表中插入数据语句为:
insert into A values ('name','age','woman')
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
房贷批下来多久过户 房贷过审后需要多久办理过户手续? 房贷成功后有什么手续 isnt后面加什么 ...导航,都支持什么样的视频格式,我用内存卡下载了不少电影都不能看... MM们。你们对富二代跟穷二代 是怎么看的? 《几回魂梦与君同》(火影-草稿版)电子书txt全集下载 几回魂梦与君同在的txt全集下载地址 几回魂梦与君同的txt全集下载地址 代州黄酒和其他黄酒生产上有什么不同之处? 腰痛,坐着就腰痛,站起来的时候很痛直不起来,要走动会才会好起来,有时候... 深圳有多少个IDC机房???大概都集中在哪里??? 王者荣耀怎么看对战面板就能分辨对面带的是百穿,还是暴击或者肉铭文? 英雄联盟薇恩情人节皮肤名叫什么 王者荣耀在开局中怎么看队友的属性 求好的游戏名,游戏是LOL,张扬的名字不喜欢,太那啥的也不行,纠结中... 这个家里有没有勇者大人或者救世主大人呢?的人物形象 记得有个游戏角色很像英雄联盟里面的暗夜猎手薇恩。是个角色扮演游戏。 最适合和薇恩打配合的打野 VN代表什么 薇恩梦Vayne丶 求一个跟着名字格式一样的情侣名 英雄联盟的 要求游戏角色名字+梦+角色英文名字 讲道理只玩薇恩应该取什么ID比较好 我每次都会梦到很多蛇围着我,或者从我脚底出来 世界上夏天 最凉快的地方是哪 梦见三条蛇在自己脚下转来转去 夏天去什么地方既好玩又凉快 夏天国内哪些地方凉快呢 中国夏季最凉快的地方是哪里? 梦见蛇在脚下游来游去 是代表什么寓意? 夏天中国什么地方最凉快又要干橾 夏天去哪里旅游好,比较凉快的地方! 我们都不是对方好友,但知道对方,如何查看对方的照片啊? 苹果手机微信聊天记录没备份怎么恢复 怎么把IE8的默认下载设置为迅雷? 夏季减肥最有效不反弹的方法是什么? 夏天如何减肥快不反弹 夏季减肥快速不反弹的好方法? 夏季怎样快速减肥的方法?不反弹? 减肥最有效最实际最快又不反弹的办法是什么 夏天减肥快速有效的有些什么方法? 怎样减肥快而且不反弹? orcle 中 sequence 只适用于主键吗 打开excel,为什么下边的任务栏不见了?怎么恢复呀?谢谢大家了 网页ASP问号怎么使用 matlab R2014a 列数必须与前面行中的列数相同,这是怎么回事?奇怪 简单的麻辣香锅的做法,简单的麻辣香锅怎么做 麻辣香锅怎么做的 高桥龙也的国籍 简易麻辣香锅怎么做 拜托哪位有家有女友(2019)井畑翔太导演内田真礼等主演的百度云免费资源链接 请问大佬有爱吃拉面的小泉同学 2015年由早见明里主演的高清视频在线观看资源吗