如何将DB2硬编码视图转换为Oracle视图

时间:2011-04-05 08:04:16

标签: oracle view db2

我在DB2 LUW中创建了这个视图:

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)。 我发现Oracle中存在TABLE,但VALUES函数没有。

您是否知道如何转换视图?

谢谢

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

您的另一个选择是创建表并将值插入其中。然后,您将获得能够对其施加约束,参照完整性和工作的额外好处。使它成为一个索引组织表。此外,它可能会为使用它的查询带来性能优势。