Oracle tablo değerli işlevine katılmak mümkün mü?Bir Oracle tablo değerli işlevine katılın
SELECT
*
FROM
SOME_TABLE a
INNER JOIN
TABLE(GET_TABLE_LIST()) b ON = a.COL_A = b.COL_A
Oracle tablo değerli işlevine katılmak mümkün mü?Bir Oracle tablo değerli işlevine katılın
SELECT
*
FROM
SOME_TABLE a
INNER JOIN
TABLE(GET_TABLE_LIST()) b ON = a.COL_A = b.COL_A
Evet, yapabilirsiniz. Ben senin get_TrfrmEngMachineInfoT
işlevi olmadığı için, ben ... Kendi koleksiyonu oluşturma ve SCOTT
şema Belki
SQL> create or replace type typ_person
2 as object (
3 person_id number,
4 person_name varchar2(30)
5 );
6/
Type created.
SQL> create or replace type tbl_person
2 as table of typ_person;
3/
Type created.
SQL> ed
Wrote file afiedt.buf
1 create or replace function get_person_list
2 return tbl_person
3 is
4 l_people tbl_person;
5 begin
6 select typ_person(empno, ename)
7 bulk collect into l_people
8 from emp;
9 return l_people;
10* end;
SQL>/
Function created.
SQL> select p.*
2 from emp e
3 join table(get_person_list()) p on (p.person_id = e.empno);
PERSON_ID PERSON_NAME
---------- ------------------------------
7623 PAV
7369 smith
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 SM0
7902 FORD
7934 MILLER
1234 FOO
16 rows selected.
Justin, her problem için çözümün var +1, bundan daha fazlasını yapamazsın;) –
bu sizin için çalışabilir içinde EMP
masaya katılmak olacak
SELECT table_name.*, myFunc(table_name.OBJID) as new_field_name from table_name
Bu, table_name
tablosundan her şeyi seçecek ve işlevin sonucunu yeni kümeye ekleyecektir.
myFunc
table_name.OBJID
alan ...
'GET_TRFRMENGMACHIENINFOT' ve' se' nelerdir kullanır ?. – Quassnoi
Üzgünüm kötü kesim/yapıştır ... bunlar GET_TRFM ... fonksiyonunda kullanılan tiplerdir. Sadece çıktının gösterilmesi, tablo değerli fonksiyonundan kaynaklanır. – tafaju