历史版本8 :函数-序列号 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本JAR 包版本插件版本
10.02019-01-011.0

1.2 应用场景

与oracle数据库的序列号功能类似。可以用于生成数据库主键值。代替数据库序列功能,方便报表在不同数据库的移植。

1.3 功能描述

用函数生成序列号

2. 插件介绍编辑

2.1 插件安装

点击下载插件:序列号函数插件

设计器插件安装方法请参见:设计器插件管理

服务器安装插件方法请参见:服务器插件管理

2.2 操作方法

2.2.1 序列管理

在设计器的服务器菜单下点击序列管理菜单

序列管理.png

开始值:序列产生的第一个值。

最大值:序列的最大值,能使用的最大值为9223372036854775807 

增加值:每次获取序列下个值时,在当前值基础上增加的值。

循环:若开启循环,当获取序列下个值超过序列的最大值时,则从开始值重新生成值。

当前值:若勾选,则可以修改序列的当前值。


2.2.2 序列号函数

SEQUENCE_CURRENT_VALUE:返回序列的当前值。

SEQUENCE_CURRENT_VALUE(seq_name, [min_length], [repeat_value])

seq_name:序列名称;

min_length:序列值的最小长度,若未设置,则返回序列原值,若设置序列原值没有最小长度,则会填充补齐到最小长度,若值为正值,则在左侧填充,若为负值,则在右侧填充;

repeat_value:填充值,默认值为0。


SEQUENCE_NEXT_VALUE:返回序列的下个值。

SEQUENCE_NEXT_VALUE(seq_name, [min_length], [repeat_value])

seq_name:序列名称;

min_length:序列值的最小长度,若未设置,则返回序列原值,若设置序列原值没有最小长度,则会填充补齐到最小长度,若值为正值,则在左侧填充,若为负值,则在右侧填充;

repeat_value:填充值,默认值为0。

3. 示例编辑

3.1 函数使用示例

例如:首选在序列管理创建一个seq1序列,开始值为0,最大值为1000,增加值为1。

SEQUENCE_CURRENT_VALUE("seq1") ,生成的值为 0

SEQUENCE_CURRENT_VALUE("seq1",3),生成的值为 000

SEQUENCE_CURRENT_VALUE("seq1",3,"a"),生成的值为 aa0

SEQUENCE_CURRENT_VALUE("seq1",-3,"a"),生成的值为 0aa


SEQUENCE_NEXT_VALUE("seq1") ,生成的值为 0

SEQUENCE_NEXT_VALUE("seq1",3),生成的值为 000

SEQUENCE_NEXT_VALUE("seq1",3,"a"),生成的值为 aa0

SEQUENCE_NEXT_VALUE("seq1",-3,"a"),生成的值为 0aa


4. 注意事项编辑

  1. 若序列号函数使用错误,则返回-1。

  2. 第一次使用SEQUENCE_NEXT_VALU函数,会获取到序列的开始值。