2011-04-05 47 views
1

我在DB2 LUW創建這樣的觀點:如何變換DB2硬編碼的視圖到Oracle視圖

CREATE VIEW SCHEMA.TYPE(TYPEID, TYPENAME) AS 
SELECT TYPEID, TYPENAME 
    FROM TABLE(VALUES(0,'A'), 
        (1,'B'), 
        (2,'C'), 
        (3,'D'), 
        (4,'E'), 
        (5,'F')) T(TYPEID, TYPENAME) 

我想這同樣的觀點轉移到Oracle數據庫(10G)。 我發現TABLE存在於Oracle中,但VALUES函數沒有。

你有想法如何轉換視圖?

謝謝

回答

2

我想出的唯一事情是:

CREATE VIEW SCHEMA.TYPE(TYPEID, TYPENAME) 
AS 
SELECT 0,'A' FROM DUAL 
UNION 
SELECT 1,'B' FROM DUAL 
UNION 
SELECT 2,'C' FROM DUAL 
UNION 
SELECT 3,'D' FROM DUAL 
UNION 
SELECT 4,'E' FROM DUAL 
UNION 
SELECT 5,'F' FROM DUAL 
+4

「UNION ALL」而不是「UNION」是一項小改進。 – Codo 2011-04-05 08:29:30

+0

謝謝科多! – 2011-04-05 08:54:49

1

你的其他選擇是僅創建表和值插入到它。然後,您將獲得能夠對其施加約束,參照完整性和作品的額外好處。使它成爲索引組織的表格。另外,它可能會爲使用它的查詢帶來性能優勢。

+0

謝謝!這個視圖是第三方數據庫的幫手。我們不想添加可能會影響此數據庫升級過程的引用。 – 2011-04-06 06:04:08