返回首页

gbase数据、南大通用产品文档:GBase8c序列号生成函数

更新日期:2024年09月11日


generate_series(start, stop)
描述:生成一个数值序列,从start 到stop,步长为1。
参数类型:int、bigint、numeric
返回值类型:setof int、setof bigint、setof numeric(与参数类型相同)

generate_series(start, stop, step)
描述:生成一个数值序列,从start 到stop,步长为step。
参数类型:int、bigint、numeric
返回值类型:setof int、setof bigint、setof numeric(与参数类型相同)

generate_series(start, stop, step interval)
描述:生成一个数值序列,从start 到stop,步长为step。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
384
参数类型:timestamp 或timestamp with time zone
返回值类型:setof timestamp 或setof timestamp with time zone(与参数类型相同)
如果step 是正数且start 大于stop,
则返回零行。
相反,
如果step 是负数且start 小于stop,
则也返回零行。如果输入是NULL,同样产生零行。如果step 为零则是一个错误。
示例:
gbase=# SELECT * FROM generate_series(2,4);
generate_series
-----------------
2
3
4
(3 rows)
gbase=# SELECT * FROM generate_series(5,1,-2);
generate_series
-----------------
5
3
1
(3 rows)
gbase=# SELECT * FROM generate_series(4,3);
generate_series
-----------------
(0 rows)
--这个示例应用于date-plus-integer 操作符。
gbase=# SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a);
dates
------------
2022-05-18
2022-05-25
2022-06-01
(3 rows)
gbase=# SELECT * FROM generate_series('2008-03-01 00:00'::timestamp,
'2008-03-04 12:00', '10 hours');
generate_series
---------------------
2008-03-01 00:00:00
2008-03-01 10:00:00

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
385
2008-03-01 20:00:00
2008-03-02 06:00:00
2008-03-02 16:00:00
2008-03-03 02:00:00
2008-03-03 12:00:00
2008-03-03 22:00:00
2008-03-04 08:00:00
(9 rows)


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 273 -
要使用 SQL API 来创建 SPL 例程,请将 CREATE PROCEDURE 或 CREATE
FUNCTION 语句的文本放在文件中。请使用 CREATE PROCEDURE FROM 或 CREATE
FUNCTION FROM 语句并引用那个文件来编译该例程。例如,要创建读取客户姓名的例
程,您可使用诸如在前面的示例中的一个语句,并将它存储在文件中。如果将该文件命名
为 read_add_source,则下列语句编译 read_address 例程:
CREATE PROCEDURE FROM 'read_add_source';
下列示例展示在 GBase 8s ESQL/C 程序中,前面的 SQL 语句是怎样的:
/* This program creates whatever routine is in *
* the file 'read_add_source'.
*/
#include
EXEC SQL include sqlca;
EXEC SQL include sqlda;
EXEC SQL include datetime;
/* Program to create a routine from the pwd */

main()
{
EXEC SQL database play;
EXEC SQL create procedure from 'read_add_source';
}

语法:

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 359 -


元素
用途
关键注意事项
-d
指定当辅助服务器上的索引
毁坏时,如何将索引复制到
High-Availability
Data-Replication (HDR)
辅助服务器
当服务器处于联机方式时,
您可以使用 onmode
-d idxauto 和 onmode -d index 命令
idxauto
当辅助服务器的索引毁坏
时,启用自动索引复制
使用 onmode -d idxauto 命令覆盖会话中
DRIDXAUTO 配置参数的值。
有关 DRIDXAUTO 的更多信息,请参阅
DRIDXAUTO 配置参数。有关复制索引的更多
信息,
请参阅 GBase
8s 管理员指南 中关于
使用 HDR 一章
index
将索引从主服务器复制到辅
助服务器
如果您检测到辅助服务器上索引毁坏,请使用
onmode -d index 命令来启动将索引从主服务
器复制到辅助服务器
database
指定包含要复制的索引的数
据库
语法必须符合 Identifier 段;
请参阅
《GBase
8s SQL 指南:语法》
index
指定要复制的索引的名称
指定的表和数据库中必须存在索引
语法必须符合 Identifier 段;请参阅
《GBase 8s SQL 指南:语法》
owner
指定表的所有者
必须指定表的当前所有者。
语法必须符合 Table Name 段;请参阅
《GBase 8s SQL 指南:语法》

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 360 -

元素
用途
关键注意事项
table
指定建立索引的表的名称
语法必须符合 Table Name 段;请参阅
《GBase 8s SQL 指南:语法》

onmode -d idxauto 和 onmode -d index 命令提供了将索引复制到包含损坏索引的辅助服务
器的方法。在传送索引期间,基本表将被锁定。使用这些选项的另一种方法是在主服务器
上删除并重建毁坏的索引。
如果是分片索引的一个分片毁坏,那么 onmode -d idxauto 命令将只传送单个受影响的分
片,而 onmode -d index 命令则传送整个索引。
该命令有等同的 SQL 管理 API 函数。 有关更多信息,请参阅 SQL 管理 API 概述 和
GBase 8s 管理员指南 。
有关 onmode -d 命令的其他信息,请参阅 onmode -d: 设置高可用服务器的特性 和
onmode -d: 设置数据复制类型。