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

Một thủ tục được lưu trữ Oracle chấp nhận tham số mảng (bảng) trong ví dụ gói cần thiết

Bạn cần một đối tượng SQL để gọi TABLE toán tử từ SELECT . Đây là một ví dụ nhỏ (9iR2):

SQL> CREATE TYPE table_number is TABLE OF NUMBER;
  2  /

Type created.

SQL> SELECT * FROM TABLE(table_number(1,2,3));

COLUMN_VALUE
------------
           1
           2
           3

Thay vào đó, bạn có thể sử dụng một hàm ở đây (lưu ý rằng TYPE của tôi vẫn được xác định bên ngoài gói):

SQL> CREATE OR REPLACE PACKAGE pkg AS
  2     FUNCTION f RETURN table_number;
  3  END;
  4  /

Package created.

SQL> CREATE OR REPLACE PACKAGE BODY pkg AS
  2     FUNCTION f RETURN table_number IS
  3     BEGIN
  4        RETURN table_number(4,5,6);
  5     END;
  6  END;
  7  /

Package body created.

SQL> SELECT * FROM table(pkg.f);

COLUMN_VALUE
------------
           4
           5
           6



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cấu hình lại Oracle 10g xe trên Linux

  2. Lỗi tia lửa - Độ chính xác thập phân 39 vượt quá độ chính xác tối đa 38

  3. Làm cách nào để lấy thông tin theo dõi cho các biến ràng buộc được chuyển qua OracleParameter trong ODP.NET?

  4. Thay thế REGEXP_SUBSTR trong SQL Server

  5. java.sql.SQLException:- ORA-01000:vượt quá con trỏ mở tối đa