首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IBM SQL的下一个问题价值

IBM SQL的下一个问题价值
EN

Stack Overflow用户
提问于 2019-05-25 01:46:20
回答 1查看 398关注 0票数 0

我正在尝试编写一个简单的查询来获取序列号。

EXEC SQL SELECT NEXT VALUE FOR @SOP_SEQ INTO:

EXEC SQL SELECT NEXT VALUE FOR SEQ INTO:@SOP_SEQ FROM @SOP_SEQ;

在第一行代码中,我甚至在可以编译之前就得到了一条错误消息: SQL0104令牌无效。有效令牌:,发件人

我尝试了第二行代码,但在编译时得到以下错误:找不到*LIBL中表@SOP_SEQ的位置57列定义。

有人能指出我哪里做错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-25 02:37:43

SELECT ... INTO需要一个行来运行,而您没有提供任何行,因此没有结果集。

有两种方法可以做你想做的事情。

SYSDUMMY1中使用SELECT INTO

代码语言:javascript
运行
复制
select next value for @sop_seq
  into :seq
  from sysibm/sysdummy1;

或者更好的方法是使用不需要引用SYSDUMMY1VALUES INTO

代码语言:javascript
运行
复制
values next value for @sop_seq
  into :seq;

SYSIBM/SYSDUMMY1是一个只有一条记录的目录文件,在VALUES INTO出现之前,通常用于在需要一行时将计算值检索到结果集中,并且没有适用的真正的表引用(就像这里的情况一样)。这种技术仍然在使用,但我建议改用VALUES INTO,因为不需要人工的FROM子句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56297368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档