Oracle
 sql >> база данни >  >> RDS >> Oracle

Функция или процедура за клауза IN

Ето работен пример за решението за вложена таблица, използвайки таблицата 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. Разделената последователност на Oracle

  2. Невалиден SQL идентификатор

  3. Как да инсталирате Oracle SQL Developer 18.2 на Windows 10?

  4. Клиент на Oracle ORA-12541:TNS:няма слушател

  5. PL/SQL разпечатва референтния курсор, върнат от съхранена процедура