Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hàm hoặc Thủ tục cho mệnh đề IN

Đây là một ví dụ hoạt động của giải pháp bảng lồng nhau, sử dụng bảng 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. Thiết kế ngược mô hình dữ liệu bằng Oracle SQL Developer

  2. Đệ quy trên truy vấn cơ sở dữ liệu để nhận kết quả phân cấp bằng Hibernate - Java

  3. Oracle Live SQL

  4. Sử dụng chế độ xem không có khóa chính với Thực thể

  5. SQL * Plus không thực thi các tập lệnh SQL mà Nhà phát triển SQL thực hiện