Как преобразовать жестко закодированное представление DB2 в представление Oracle - PullRequest
1 голос
/ 05 апреля 2011

Я создал это представление в 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).Я обнаружил, что TABLE существует в Oracle, а функция VALUES - нет.

У вас есть идея, как преобразовать представление?

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Единственное, что я придумал, это:

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 голос
/ 06 апреля 2011

Другой вариант - просто создать таблицу и вставить в нее значения. Затем вы получите дополнительное преимущество от возможности накладывать на него ограничения, ссылочную целостность, работу. Сделайте это организованной по индексу таблицей. Кроме того, это может повысить производительность запросов, которые его используют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...