sql >> Databasteknik >  >> RDS >> Oracle

Är det möjligt att skapa Oracle associativ array-typ utanför ett paket/procedur?

Svaret är nej, du kan inte göra det du försöker göra, lika lite som du kan skapa en typ för att lägga till en BOOLEAN-skriven variabel till ett objekt. Objekten i ett objekt måste innehålla Oracle-typer, inte PL/SQL-typer. Ett lite klumpigt alternativ kan vara:

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;

Lagra dina associerade par av variabler i de två VARRAYerna. Du måste känna till den största möjliga storleken på dina arrayer.



  1. Få kapslade objekt i struktur i Gorm

  2. Optimera gruppvis maximal fråga

  3. The Adaptive Join Threshold

  4. SQL Server 2008 Spatial:hitta en punkt i polygon