从视图中选择*不显示所有列

时间:2017-11-29 20:43:42

标签: oracle view oracle-sqldeveloper

美好的一天,

在Oracle中使用SQL Developer和Database 11g Express。

我创建了一个视图,并尝试使用

显示视图的结果
 SELECT *
 FROM ViewName;

话虽如此,并非所有专栏都在展示。最后一列没有显示出来。如果我在视图中更改其位置,则会显示。

View for View如下:

 CREATE OR REPLACE VIEW SaleSummaryView AS
      SELECT      SALE.SaleID AS Sale_ID,
                  SALE.SaleDate AS Sale_Date,
                  SALE_ITEM.SaleItemID AS Sale_Item_ID,
                  SALE_ITEM.ItemID AS Item_ID,
                /*ITEM.ItemPrice AS Item_Price,*/
                  ITEM.ItemDescription AS Item_Descritption,
                  ITEM.ItemPrice AS Item_Price
      FROM        SALE JOIN SALE_ITEM
              ON  SALE.SaleID = SALE_ITEM.SaleID
                  JOIN ITEM
              ON  SALE_ITEM.ITEMID = ITEM.ITEMID;

您可以看到我尝试在视图中移动其位置并显示出来的位置。另外,我尝试运行以下代码:

 SELECT Item_Price
 FROM SaleSummaryView;

并显示值。

这是我第一次使用ORACLE,我在YouTube和StackOverflow上搜索过,但我似乎无法找到解决方案。

2 个答案:

答案 0 :(得分:0)

该列未显示在“脚本输出”中,但显示在“查询结果”中。仍不确定原因,但我会结束这些问题。

答案 1 :(得分:0)

我不是100%肯定。 Sql Devloper会预取某些对象的定义。如果您在会话中更改了某些内容(向表中添加新列),则必须刷新连接。 (点击连接并刷新)