Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将DB2硬编码视图转换为Oracle视图_Oracle_View_Db2 - Fatal编程技术网

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

如何将DB2硬编码视图转换为Oracle视图,oracle,view,db2,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,

我在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中存在该表,但VALUES函数不存在

你知道如何变换视图吗


谢谢

我唯一想到的是:

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

另一种选择是创建表并将值插入其中。然后,您将获得额外的好处,能够对其进行约束、引用完整性和工作。让它成为一个索引表。另外,它可能会给使用它的查询带来性能上的好处。

作为一个小的改进,“UNION ALL”而不是“UNION”。谢谢!此视图是第三方数据库的帮助器。我们不希望添加可能影响此数据库升级过程的引用。