首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图在视图中设置列类型

试图在视图中设置列类型
EN

Stack Overflow用户
提问于 2013-11-24 23:35:40
回答 2查看 43关注 0票数 0

我在视图查询中找到了这个

代码语言:javascript
复制
(SELECT CAST(COUNT( *) AS NUMBER(10))
    FROM other_table ibl
    WHERE ibl.fk_id = my_table.id
)                           AS my_column

但是,Oracle仍然将该列报告为没有大小的类型号。

有办法绕过这件事吗?我希望它是号码(10)

db版本为11.2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-25 00:27:34

看来你把CAST放错地方了。您的CAST需要包装内联子查询。

在本例中,col2是当前定义列的方式。col1展示了如何定义它。

代码语言:javascript
复制
SQL> ed
Wrote file afiedt.buf

  1  create or replace view vw_foo
  2  as
  3  select cast( (select count(*) from dual) as number(10) ) col1,
  4         (select cast( count(*) as number(10)) from dual) col2
  5*   from dual
SQL> /

View created.

SQL> desc vw_foo
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 COL1                                               NUMBER(10)
 COL2                                               NUMBER
票数 2
EN

Stack Overflow用户

发布于 2013-11-25 00:23:25

你想要做的事情应该很好,所以你的问题必须来自其他地方。下面是我用来测试这个的脚本。

代码语言:javascript
复制
CREATE Table table1 (no1 NUMBER);
INSERT INTO table1 VALUES(123);
DESC table1;
CREATE VIEW view1 AS
SELECT CAST(no1 AS NUMBER(10)) AS no2 FROM table1;
DESC view1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20182540

复制
相关文章

相似问题

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