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

Làm cách nào để chuyển động các giá trị cho toán tử IN?

Tạo loại bộ sưu tập:

CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/

Sau đó, bạn có thể chuyển nó vào một thủ tục và sử dụng MEMBER OF toán tử (thay vì IN nhà điều hành):

CREATE PROCEDURE Test (
  in_list     IN  stringlist,
  out_results OUT SYS_REFCURSOR
)
IS
BEGIN
  OPEN out_results FOR
  SELECT *
  FROM   your_table
  WHERE  your_column MEMBER OF in_list;
END;
/

Nếu bạn đang kết nối từ một ngôn ngữ bên ngoài thì bạn có thể khá dễ dàng chuyển một mảng vào thủ tục (ví dụ Java) hoặc bạn có thể tạo danh sách trong PL / SQL hoặc từ một danh sách được phân tách.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chia chuỗi thành hàng Oracle SQL

  2. Oracle Date - Cách thêm năm vào ngày tháng

  3. Đệ quy trong Oracle

  4. tràn bộ đệm kích thước dbms_output

  5. Tách các giá trị được phân tách bằng dấu phẩy trong Oracle