首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sybase ASE按电平等效连接

Sybase ASE按电平等效连接
EN

Stack Overflow用户
提问于 2017-05-17 15:06:31
回答 2查看 1.3K关注 0票数 5

我想生成从0到9000000的数字。在Oracle中,我可以使用以下代码。我如何在Sybase ASE中做到这一点?

这是Oracle中的:

代码语言:javascript
运行
复制
SELECT level  Num
FROM DUAL
CONNECT BY LEVEL  <= 9000000
ORDER BY Num;

如何在Sybase ASE中做到这一点?

我不能创建一个表并添加一个标识,因为我需要从1到9000000的数字,所以一个表将是复杂的。是否有查询来执行此操作?

EN

Stack Overflow用户

回答已采纳

发布于 2017-05-29 15:50:03

在Sybase中,有一个可以用来生成数字的系统过程:行发生器

你本可以这样做:

代码语言:javascript
运行
复制
 SELECT row_num FROM sa_rowgenerator( 1, 9000000);

我根本不知道Sybase ASE,所以我搜索了它,发现这个过程在ASE中是不可用的,但是有一个替代方案:

ASE不支持system系统过程sa_rowgenerator、sa_split_list和sa_conn_info。ASE主数据库包含一个表spt_values,该表可用于以类似于sa_rowgenerator过程或system的dbo.row_generator系统表的方式选择整数值。

来源:将SQL数据库应用程序迁移到ASE

这个包含整数的表spt_values是难以置信的没有文档化。就像一张鬼桌。

我建议你试一试:

代码语言:javascript
运行
复制
select number 
FROM master.dbo.spt_values
WHERE number BETWEEN 0 AND 9000000

但如果你的数据库系统爆炸,我不负责;-)

票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44028603

复制
相关文章

相似问题

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