首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Rownum cast

Oracle Rownum cast
EN

Stack Overflow用户
提问于 2012-08-13 21:28:24
回答 2查看 3.2K关注 0票数 3

我正在尝试创建一个复杂的视图,该视图将通过MS-SQL服务器中的链接服务器进行访问。我遇到的问题是查询使用ROWNUM生成ROWID。

生成的ROWID的数据类型为NUMBER,但这显然给我带来了问题,如果我能将其转换为NUMBER(此处插入大小),一切都会好起来的。但我甚至不确定这是否可能。

代码语言:javascript
复制
CREATE OR REPLACE FORCE VIEW EXAMPLE ("ROW_ID")
AS
SELECT ROWNUM ROW_ID,
FROM
(SUB-QUERY)

我无法给出完整的查询和列名(工作约束),但以下是SQL Developer中查询返回的列类型

我认为问题集中在ROWNUM的返回数据类型是Number,而不是NUMBER(20)或类似的长度,这种交叉是我看到的关于链接服务器错误的问题,但如果有人知道不同的,请让我知道;)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-13 21:39:13

您可以使用cast函数:cast( rownum AS NUMBER(10)) as row_id

代码语言:javascript
复制
create or replace view tvv as 
   select cast( rownum AS NUMBER(10)) as row_id 
   from all_objects 
   where rownum < 10;

> desc tvv
 Name              Null?    Typ
 ----------------- -------- ------------
 ROW_ID                     NUMBER(10)
票数 6
EN

Stack Overflow用户

发布于 2012-08-14 18:25:53

这不是一个很好的解决方案,但是通过删除rownum并从不同的角度解决问题,我已经删除了错误。

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

https://stackoverflow.com/questions/11935235

复制
相关文章

相似问题

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