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

Czy możliwe jest utworzenie typu tablicy asocjacyjnej Oracle poza pakietem/procedurą?

Odpowiedź brzmi:nie, nie możesz zrobić tego, co próbujesz zrobić, podobnie jak nie możesz utworzyć typu, aby dodać zmienną typu BOOLEAN do obiektu. Pozycje w obiekcie muszą zawierać typy Oracle, a nie typy PL/SQL. Nieco niezgrabną alternatywą może być:

CREATE TYPE t_aa AS VARRAY(10) OF VARCHAR2(10);

CREATE OR REPLACE TYPE t_ua AS OBJECT (ID NUMBER(15)
                                     , MEMBER PROCEDURE initialize(p_aa t_aa)
                                     , MEMBER PROCEDURE initialize(p_aa_i t_aa))
                               NOT INSTANTIABLE NOT FINAL;

Przechowuj powiązane pary zmiennych w dwóch VARRAY. Musisz znać największy możliwy rozmiar swoich tablic.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle getConnection wolno

  2. Konwersja CLOB do NUMBER do porównania - Oracle

  3. ORA-22905 - podczas zapytania o typ tabeli za pomocą instrukcji SELECT

  4. OracleConnection zgłasza pusty wyjątek

  5. Tomcat 9 z Apache DBCP + Spring 5 + Oracle 12c + SqlArrayValue