2012-04-02 6 views
2

Я хотел бы создать виртуальную таблицу с подобным синтаксисомOracle: Выберите из таблицы (1; 2)

SELECT 'sk: ' || #1 || ' ; pdf: ' || #2 
FROM TABLE('1, 2', '3, 4') 

И получить что-то вроде этого

SELECT 'sk: ' || '1' || ' ; pdf: ' || '2' 
FROM DUAL 
UNION 
SELECT 'sk: ' || '3' || ' ; pdf: ' || '4' 
FROM DUAL 

Я могу создавать объекты.

Я видел кое-что полезное здесь: Oracle: split string to rows

Но это был массив, и теперь мне нужно Матрицу

ответ

6

Вы можете сделать это:

create type sk_pdf_type is object (sk number, pdf number); 

create type sk_pdf_tab_type is table of sk_pdf_type; 

select * from table 
    (sk_pdf_tab_type (sk_pdf_type (1, 2) 
        , sk_pdf_type (3, 4) 
        ) 
); 
Смежные вопросы