2015-10-07 62 views
0

我在Oracle中有一個View。這就是所謂的: 發票爲什麼Oracle View在使用select *時顯示不同的輸出

當我直接調用查看它讓我看到我的數據是這樣的: SELECT * FROM發票

>  +-------+------------+------------+ 
>  | Name | InvoiceNo | Street | 
>  +-------+------------+------------+ 
>  | 1111 |  Peter | Pencilroad | 
>  | 2222 |  Clint | Duffstreet | 
>  +-------+------------+------------+ 

當我使用select語句從視圖它顯示我不同的輸出: 選擇epname如姓名,epno爲invoiceno,EPST從EP街道

>  +-------+-----------+------------+ 
>  | Name | InvoiceNo | Street | 
>  +-------+-----------+------------+ 
>  | Peter |  1111 | Pencilroad | 
>  | Clint |  2222 | Duffstreet | 
>  +-------+-----------+------------+ 

這怎麼可能? 我再次編譯視圖,它顯示我仍然是不同的數據。我也檢查瞭如果視圖無效,但它不是。

任何線索?我在Oracle 11g數據庫上使用SQLDeveloper。 還有一種方法,可以查看過去對視圖所做的更改,或者使用用戶名和時間戳查看更改日誌嗎?

在此先感謝。從ALL_OBJECTS

內容:

+-------+-----------------+----------------+-----------+----------------+-------------+---------------------+---------------+-----------+--------+-----------+-----------+-----------+-----------+--------------+ 
| OWNER | OBJECT_NAME | SUBOBJECT_NAME | OBJECT_ID | DATA_OBJECT_ID | OBJECT_TYPE |  CREATED  | LAST_DDL_TIME | TIMESTAMP | STATUS | TEMPORARY | GENERATED | SECONDARY | NAMESPACE | EDITION_NAME | 
+-------+-----------------+----------------+-----------+----------------+-------------+---------------------+---------------+-----------+--------+-----------+-----------+-----------+-----------+--------------+ 
| AUW | INVOICES  |   30367 | VIEW  | 16.01.15  | 07.10.15 | 2015-10-05:13:44:13 | VALID   | N   | N  | N   |   1 |   |   |    | 
+-------+-----------------+----------------+-----------+----------------+-------------+---------------------+---------------+-----------+--------+-----------+-----------+-----------+-----------+--------------+ 

CREATE VIEW語句:

CREATE VIEW INVOICES AS 
SELECT TRIM (person.NAME || NVL2 (person.Surname, ',' || person.Surname, '')) AS Name, 
      RTRIM (egy.e90sart1 || egy.E90SART2) AS InvoiceNo, 
      TRIM (person.street) AS Street 
    FROM person, 
      egy 
    WHERE  person.key = egy.key; 
+0

所以只有列順序不同? – ibre5041

+0

列的順序相同,但內容已更改。這節省了我的聲明:select * from invoices invoiceno in name。我將視圖複製到了一個新的視圖中,奇怪的是它顯示了新視圖中的正確數據... – triplus

+0

這可能是這樣的:'create view abc(c1,c2,c3)as select c2,c1,c3 from ....' – ibre5041

回答

0

我找到了一個解決方案是如何解決這個問題: 我改名的觀點,突然它的工作。我仍然想知道爲什麼編譯不起作用,但現在沒問題。

相關問題