Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja lub procedura dla klauzuli IN

Oto działający przykład rozwiązania zagnieżdżonej tabeli przy użyciu tabeli EMP:

create type t_ids is table of integer
/

create or replace function get_office_ids return t_ids
is
   l_ids t_ids := t_ids();
   l_idx integer := 0;
begin
   for r in (select empno from emp where deptno=10)
   loop
      l_ids.extend;
      l_idx := l_idx+1;
      l_ids(l_idx) := r.empno;
   end loop;
   return l_ids;
end;
/

select ename from emp where empno in (select * from table(get_office_ids));


ENAME
----------
CLARK
KING
TEST
MILLER
BINNSY
FARMER


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pisać do pliku CSV za pomocą Oracle SQL*Plus

  2. Klauzula OVER w Oracle

  3. Pole logiczne w Oracle

  4. Jaka jest domyślna nazwa ograniczenia w Oracle?

  5. Oracle - Jak wygenerować skrypt od programisty sql