Oracleテーブル値関数への結合は可能ですか?oracleテーブル値関数への結合
SELECT
*
FROM
SOME_TABLE a
INNER JOIN
TABLE(GET_TABLE_LIST()) b ON = a.COL_A = b.COL_A
Oracleテーブル値関数への結合は可能ですか?oracleテーブル値関数への結合
SELECT
*
FROM
SOME_TABLE a
INNER JOIN
TABLE(GET_TABLE_LIST()) b ON = a.COL_A = b.COL_A
はいできます。私はあなたのget_TrfrmEngMachineInfoT
機能を持っていないので、私は多分これがあなたのために働くことができる自分のコレクションを作成し、SCOTT
スキーマ
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.
あなたはすべての問題+1の解決策を持っています、それ以上のことはできません;) –
にEMP
、それをテーブルに参加します...
SELECT table_name.*, myFunc(table_name.OBJID) as new_field_name from table_name
これはtable_name
テーブルからすべてを選択し、その関数の結果を新しいセットに追加します。
myFunc
いくつかのレコードを照合し、何を行うにはtable_name.OBJID
フィールドを使用しています...
は 'GET_TRFRMENGMACHIENINFOT'と' se'何ですか?。 – Quassnoi
GET_TRFM ...関数で使用されている型が間違っています。ちょうどtehの出力については、テーブル値関数からのものです。 – tafaju