@@ -3,23 +3,41 @@ title: NEXTVAL
33---
44import FunctionDescription from '@site/src /components/FunctionDescription';
55
6- <FunctionDescription description =" Introduced or updated: v1.2.453 " />
6+ <FunctionDescription description =" 引入或更新于: v1.2.784 " />
77
8- 从序列中检索下一个值 。
8+ 从序列(Sequence)中获取下一个值 。
99
10- ## 句法
10+ ## 语法
1111
1212``` sql
1313NEXTVAL(< sequence_name> )
1414```
1515
1616## 返回类型
1717
18- Integer.
18+ 整数(Integer)。
19+
20+ ## 访问控制要求
21+
22+ | 权限 | 对象类型 | 描述 |
23+ | :----------------| :------------| :------------|
24+ | ACCESS SEQUENCE | SEQUENCE | 访问序列。 |
25+
26+ 要访问序列,执行操作的用户或其角色必须拥有 ACCESS SEQUENCE [ 权限] ( /guides/security/access-control/privileges ) 。
27+
28+ ::: note
29+
30+ ` enable_experimental_sequence_rbac_check ` 设置控制序列级访问控制,默认禁用。
31+ 创建序列仅需超级用户权限,跳过详细 RBAC 检查。
32+ 启用后,在创建序列时将强制执行细粒度权限验证。
33+
34+ 此为实验性功能,未来可能默认启用。
35+
36+ :::
1937
2038## 示例
2139
22- 此示例演示了 NEXTVAL 函数如何与序列一起使用 :
40+ 以下示例展示 NEXTVAL 函数与序列的配合使用 :
2341
2442``` sql
2543CREATE SEQUENCE my_seq ;
@@ -36,24 +54,24 @@ SELECT
3654└─────────────────────────────────────────────────────┘
3755```
3856
39- 此示例展示了如何使用序列和 NEXTVAL 函数来自动生成唯一标识符并将其分配给表中的行。
57+ 以下示例演示如何利用序列和 NEXTVAL 函数为表中的行自动生成并分配唯一标识符:
4058
4159``` sql
42- -- 创建一个名为 staff_id_seq 的新序列
60+ -- 创建名为 staff_id_seq 的新序列
4361CREATE SEQUENCE staff_id_seq ;
4462
45- -- 创建一个名为 staff 的新表,其中包含自动生成的 staff_id
63+ -- 创建名为 staff 的新表,staff_id 自动递增
4664CREATE TABLE staff (
4765 staff_id INT DEFAULT NEXTVAL(staff_id_seq),
4866 name VARCHAR (50 ),
4967 department VARCHAR (50 )
5068);
5169
52- -- 将具有自动生成的 staff_id 的新员工插入到 staff 表中
70+ -- 向 staff 表插入新员工,staff_id 自动生成
5371INSERT INTO staff (name, department)
5472VALUES (' John Doe' , ' HR' );
5573
56- -- 插入另一行
74+ -- 再插入一行
5775INSERT INTO staff (name, department)
5876VALUES (' Jane Smith' , ' Finance' );
5977
0 commit comments