sql >> Databáze >  >> RDS >> Oracle

Funkce nebo procedura pro klauzuli IN

Zde je pracovní příklad řešení vnořené tabulky pomocí tabulky 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. Datový typ ENUM (Enumeration) v MySQL:12 nejdůležitějších faktů a užitečných tipů

  2. Odsazení vlevo v SQL Server – 3 ekvivalenty LPAD().

  3. Měření výkonu dotazu:Náklady na dotaz podle plánu realizace vs. čas

  4. Automatizace databáze pomocí Puppet:Nasazení MySQL &MariaDB Galera Cluster