如何解决如何找到序列的最大值尤其是hana序列
我可以看到在线获取序列的 currval 和 nextval 的查询。但是是否还有一个查询来获取序列的最大值,因为我需要更改序列的最大值。准确地说:
if(currentMaxValue = 999) {
ALTER SEQUENCE "seqname" maxvalue 9999;
}
我如何准确获取所定义序列的 currentMaxValue
。
要获得 nextval,查询将是:
SELECT "seqname".nextval FROM "tablename"
以同样的方式,这是否可行:
SELECT "seqname".maxvalue FROM "tablename"
问这个是因为,我无法在本地开发中对此进行测试。
解决方法
您可以从系统视图 SEQUENCES 读取序列的当前定义的最大值(和所有其他元数据)。不存在与 NEXTVAL 或 CURRVAL 等效的最大值。
,最好对序列设置一个大的限制。
您可以在 -9999999999999999999999999999 and 9999999999999999999999999999
您还可以从系统视图 Sequences
或 M_SEQUENCES
中获取序列的最大值。
Select SEQUENCE_NAME,CURRENT_VALUE,end_value from M_SEQUENCES where upper(SEQUENCE_NAME) =upper('<seqName>');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。