Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Potrzebna jest procedura składowana Oracle, która akceptuje parametr array(table) w przykładzie pakietu

Potrzebujesz obiektu SQL, aby wywołać TABLE operator z SELECT . Oto mały przykład (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

Zamiast tego możesz użyć funkcji tutaj (pamiętaj, że mój TYPE jest nadal zdefiniowany poza pakietem):

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. Grupuj wiersze Zachowując porządek wartości

  2. Po wykonaniu migracji z Oracle do SQL Server straciłem bazę danych SysDB. Jak mogę to odtworzyć?

  3. Oracle z node-oracle:Błąd podczas próby pobrania tekstu dla błędu ORA-01804

  4. Zapytanie sparametryzowane Oracle w c#

  5. Oracle Sequence nextval przeskakuje numer w tę i z powrotem