From 36e07f7c8c18ab9f4d3a863e617e1279fcd2cf36 Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Fri, 26 Aug 2022 11:42:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(mogdb):=E5=88=A0=E9=99=A4alter=20sequence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sql-syntax/ALTER-SEQUENCE.md | 95 ------------------ .../sql-syntax/CREATE-SEQUENCE.md | 2 +- .../sql-syntax/DROP-SEQUENCE.md | 2 +- product/en/docs-mogdb/v3.0/toc.md | 1 - .../docs-mogdb/v3.0/toc_datatypes-and-sql.md | 1 - .../sql-syntax/ALTER-SEQUENCE.md | 96 ------------------- .../sql-syntax/CREATE-SEQUENCE.md | 2 +- .../sql-syntax/DROP-SEQUENCE.md | 2 +- product/zh/docs-mogdb/v3.0/toc.md | 1 - .../docs-mogdb/v3.0/toc_datatypes-and-sql.md | 1 - 10 files changed, 4 insertions(+), 199 deletions(-) delete mode 100644 product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md delete mode 100644 product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md diff --git a/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md b/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md deleted file mode 100644 index 2878494a..00000000 --- a/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: ALTER SEQUENCE -summary: ALTER SEQUENCE -author: Zhang Cuiping -date: 2021-05-17 ---- - -# ALTER SEQUENCE - -## Function - -**ALTER SEQUENCE** modifies the parameters of an existing sequence. - -## Precautions - -- Only the sequence owner or a user granted with the ALTER permission can run the **ALTER SEQUENCE** command. The system administrator has this permission by default. To modify a sequence owner, you must be the sequence owner or system administrator and a member of the new owner role. -- In the current version, you can modify only the owner, owning column, maximum value and increment. To modify other parameters, delete the sequence and create it again. Then, use the **Setval** function to restore parameter values. -- **ALTER SEQUENCE MAXVALUE** cannot be used in transactions, functions, and stored procedures. -- After the maximum value of a sequence is changed, the cache of the sequence in all sessions is cleared. -- If the LARGE identifier is used when a sequence is created, the LARGE identifier must be used when the sequence is altered. -- The **ALTER SEQUENCE** statement blocks the invocation of **nextval**, **setval**, **currval**, and **lastval**. - -## Syntax - -- Change the owning column of a sequence. - - ```ebnf+diagram - AlterSequence ::= ALTER SEQUENCE [ IF EXISTS ] name - [MAXVALUE maxvalue | NO MAXVALUE | NOMAXVALUE | CACHE cache] - [ OWNED BY { table_name'.'column_name | NONE } ] - ``` - -- Change the owner of a sequence. - - ```ebnf+diagram - AlterSequence ::= ALTER SEQUENCE [ IF EXISTS ] name OWNER TO new_owner; - ``` - -- Change the increment of sequence. - - ```ebnf+diagram - AlterSequence ::= ALTER SEQUENCE [ IF EXISTS ] name [ INCREMENT [ BY ] increment ]; - ``` - -## Parameter Description - -- name - - Specifies the name of the sequence to be modified. - -- IF EXISTS - - Sends a notice instead of an error when you are modifying a nonexistent sequence. - -- CACHE - - Specifies the number of sequences stored in the memory for quick access purposes. If this parameter is not specified, the old cache value is retained. - -- OWNED BY - - Associates a sequence with a specified column included in a table. In this way, the sequence will be deleted when you delete its associated column or the table where the column belongs to. - - If the sequence has been associated with another table before you use this option, the new association will overwrite the old one. - - The associated table and sequence must be owned by the same user and in the same schema. - - If **OWNED BY NONE** is used, all existing associations will be deleted. - -- new_owner - - Specifies the username of the new owner of the sequence. To change the owner, you must also be a direct or indirect member of the new role, and this role must have **CREATE** permission on the sequence's schema. - -## Examples - -```sql --- Create an ascending sequence named serial, which starts from 101. -MogDB=# CREATE SEQUENCE serial START 101; - --- Create a table and specify default values for the sequence. -MogDB=# CREATE TABLE T1(C1 bigint default nextval('serial')); - --- Change the owning column of serial to T1.C1. -MogDB=# ALTER SEQUENCE serial OWNED BY T1.C1; - --- Change the increment of sequence. -MogDB=# ALTER SEQUENCE serial increment by 5; - --- Delete a sequence and a table. -MogDB=# DROP SEQUENCE serial cascade; -MogDB=# DROP TABLE T1; -``` - -## Helpful Links - -[CREATE SEQUENCE](CREATE-SEQUENCE.md),[DROP SEQUENCE](DROP-SEQUENCE.md) diff --git a/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md b/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md index 4ddcbe80..0f7e91dd 100644 --- a/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md +++ b/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md @@ -145,4 +145,4 @@ MogDB=# DROP SEQUENCE serial1 cascade; ## Helpful Links -[DROP SEQUENCE](DROP-SEQUENCE.md),[ALTER SEQUENCE](ALTER-SEQUENCE.md) +[DROP SEQUENCE](DROP-SEQUENCE.md) diff --git a/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md b/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md index 2998e9ef..33bbfa23 100644 --- a/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md +++ b/product/en/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md @@ -52,4 +52,4 @@ MogDB=# DROP SEQUENCE serial; ## Helpful Links -[ALTER SEQUENCE](ALTER-SEQUENCE.md) and [CREATE SEQUENCE](CREATE-SEQUENCE.md) +[CREATE SEQUENCE](CREATE-SEQUENCE.md) diff --git a/product/en/docs-mogdb/v3.0/toc.md b/product/en/docs-mogdb/v3.0/toc.md index f4730411..4a8e999a 100644 --- a/product/en/docs-mogdb/v3.0/toc.md +++ b/product/en/docs-mogdb/v3.0/toc.md @@ -865,7 +865,6 @@ + [ALTER ROW LEVEL SECURITY POLICY](/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md) + [ALTER RULE](/reference-guide/sql-syntax/ALTER-RULE.md) + [ALTER SCHEMA](/reference-guide/sql-syntax/ALTER-SCHEMA.md) - + [ALTER SEQUENCE](/reference-guide/sql-syntax/ALTER-SEQUENCE.md) + [ALTER SERVER](/reference-guide/sql-syntax/ALTER-SERVER.md) + [ALTER SESSION](/reference-guide/sql-syntax/ALTER-SESSION.md) + [ALTER SUBSCRIPTION](/reference-guide/sql-syntax/ALTER-SUBSCRIPTION.md) diff --git a/product/en/docs-mogdb/v3.0/toc_datatypes-and-sql.md b/product/en/docs-mogdb/v3.0/toc_datatypes-and-sql.md index 9d76b156..8a2f1f85 100644 --- a/product/en/docs-mogdb/v3.0/toc_datatypes-and-sql.md +++ b/product/en/docs-mogdb/v3.0/toc_datatypes-and-sql.md @@ -54,7 +54,6 @@ + [ALTER ROW LEVEL SECURITY POLICY](/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md) + [ALTER RULE](/reference-guide/sql-syntax/ALTER-RULE.md) + [ALTER SCHEMA](/reference-guide/sql-syntax/ALTER-SCHEMA.md) - + [ALTER SEQUENCE](/reference-guide/sql-syntax/ALTER-SEQUENCE.md) + [ALTER SERVER](/reference-guide/sql-syntax/ALTER-SERVER.md) + [ALTER SESSION](/reference-guide/sql-syntax/ALTER-SESSION.md) + [ALTER SUBSCRIPTION](/reference-guide/sql-syntax/ALTER-SUBSCRIPTION.md) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md deleted file mode 100644 index 72139c47..00000000 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: ALTER SEQUENCE -summary: ALTER SEQUENCE -author: Zhang Cuiping -date: 2021-05-17 ---- - -# ALTER SEQUENCE - -## 功能描述 - -修改一个现有的序列的参数。 - -## 注意事项 - -- 只有序列的所有者或者被授予了序列ALTER权限的用户才能执行ALTER SEQUENCE命令,系统管理员默认拥有该权限。但要修改序列的所有者,当前用户必须是该序列的所有者或者系统管理员,且该用户是新所有者角色的成员。 -- 当前版本仅支持修改拥有者、归属列和最大值和increment。若要修改其他参数,可以删除重建,并用Setval函数恢复当前值。 -- ALTER SEQUENCE MAXVALUE不支持在事务、函数和存储过程中使用。 -- 修改序列的最大值后,会清空该序列在所有会话的cache。 -- 如果Sequence被创建时使用了LARGE标识,则ALTER时也需要使用LARGE标识。 -- ALTER SEQUENCE会阻塞nextval、setval、currval和lastval的调用。 - -## 语法格式 - -- 修改序列归属列 - - ```ebnf+diagram - AlterSequence ::= ALTER SEQUENCE [ IF EXISTS ] name - [MAXVALUE maxvalue | NO MAXVALUE | NOMAXVALUE | CACHE cache] - [ OWNED BY { table_name'.'column_name | NONE } ] - ``` - -- 修改序列的拥有者 - - ```ebnf+diagram - AlterSequence ::= ALTER SEQUENCE [ IF EXISTS ] name OWNER TO new_owner; - ``` - -- 修改increment - - ```ebnf+diagram - AlterSequence ::= ALTER SEQUENCE [ IF EXISTS ] name [ INCREMENT [ BY ] increment ]; - ``` - -## 参数说明 - -- name - - 将要修改的序列名称。 - -- IF EXISTS - - 当序列不存在时使用该选项不会出现错误消息,仅有一个通知。 - -- CACHE - - 为了快速访问,而在内存中预先存储序列号的个数。如果没有指定,将保持旧的缓冲值。 - -- OWNED BY - - 将序列和一个表的指定字段进行关联。这样,在删除那个字段或其所在表的时候会自动删除已关联的序列。 - - 如果序列已经和表有关联后,使用这个选项后新的关联关系会覆盖旧的关联。 - - 关联的表和序列的所有者必须是同一个用户,并且在同一个模式中。 - - 使用OWNED BY NONE将删除任何已经存在的关联。 - -- new_owner - - 序列新所有者的用户名。用户要修改序列的所有者,必须是新角色的直接或者间接成员,并且那个角色必须有序列所在模式上的CREATE权限。 - -## 示例 - -```sql --- 创建一个名为serial的递增序列,从101开始。 -MogDB=# CREATE SEQUENCE serial START 101; - --- 创建一个表,定义默认值。 -MogDB=# CREATE TABLE T1(C1 bigint default nextval('serial')); - --- 将序列serial的归属列变为T1.C1。 -MogDB=# ALTER SEQUENCE serial OWNED BY T1.C1; - --- 修改increment -MogDB=# ALTER SEQUENCE serial increment by 5; - - --- 删除序列和表。 -MogDB=# DROP SEQUENCE serial cascade; -MogDB=# DROP TABLE T1; -``` - -## 相关链接 - -[CREATE SEQUENCE](CREATE-SEQUENCE.md),[DROP SEQUENCE](DROP-SEQUENCE.md) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md index 1e0fc3c0..4a710413 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md @@ -144,4 +144,4 @@ MogDB=# DROP SEQUENCE serial1 cascade; ## 相关链接 -[DROP SEQUENCE](DROP-SEQUENCE.md),[ALTER SEQUENCE](ALTER-SEQUENCE.md) +[DROP SEQUENCE](DROP-SEQUENCE.md) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md index fd0d56ed..ca5f8d17 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md @@ -52,4 +52,4 @@ MogDB=# DROP SEQUENCE serial; ## 相关链接 -[ALTER SEQUENCE](ALTER-SEQUENCE.md), [CREATE SEQUENCE](CREATE-SEQUENCE.md) +[CREATE SEQUENCE](CREATE-SEQUENCE.md) diff --git a/product/zh/docs-mogdb/v3.0/toc.md b/product/zh/docs-mogdb/v3.0/toc.md index 1c59ac48..4f15d12e 100644 --- a/product/zh/docs-mogdb/v3.0/toc.md +++ b/product/zh/docs-mogdb/v3.0/toc.md @@ -865,7 +865,6 @@ + [ALTER ROW LEVEL SECURITY POLICY](/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md) + [ALTER RULE](/reference-guide/sql-syntax/ALTER-RULE.md) + [ALTER SCHEMA](/reference-guide/sql-syntax/ALTER-SCHEMA.md) - + [ALTER SEQUENCE](/reference-guide/sql-syntax/ALTER-SEQUENCE.md) + [ALTER SERVER](/reference-guide/sql-syntax/ALTER-SERVER.md) + [ALTER SESSION](/reference-guide/sql-syntax/ALTER-SESSION.md) + [ALTER SUBSCRIPTION](/reference-guide/sql-syntax/ALTER-SUBSCRIPTION.md) diff --git a/product/zh/docs-mogdb/v3.0/toc_datatypes-and-sql.md b/product/zh/docs-mogdb/v3.0/toc_datatypes-and-sql.md index 0d25e2bf..e5ead707 100644 --- a/product/zh/docs-mogdb/v3.0/toc_datatypes-and-sql.md +++ b/product/zh/docs-mogdb/v3.0/toc_datatypes-and-sql.md @@ -54,7 +54,6 @@ + [ALTER ROW LEVEL SECURITY POLICY](/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md) + [ALTER RULE](/reference-guide/sql-syntax/ALTER-RULE.md) + [ALTER SCHEMA](/reference-guide/sql-syntax/ALTER-SCHEMA.md) - + [ALTER SEQUENCE](/reference-guide/sql-syntax/ALTER-SEQUENCE.md) + [ALTER SERVER](/reference-guide/sql-syntax/ALTER-SERVER.md) + [ALTER SESSION](/reference-guide/sql-syntax/ALTER-SESSION.md) + [ALTER SUBSCRIPTION](/reference-guide/sql-syntax/ALTER-SUBSCRIPTION.md) -- Gitee