sql >> Database >  >> RDS >> Oracle

Is het mogelijk om een ​​associatief arraytype van Oracle buiten een pakket/procedure te maken?

Het antwoord is nee, je kunt niet doen wat je probeert te doen, net zomin als je een type kunt maken om een ​​BOOLEAN-getypte variabele aan een object toe te voegen. De items in een object moeten Oracle-typen bevatten, geen PL/SQL-typen. Een wat onhandig alternatief zou kunnen zijn:

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;

Sla uw bijbehorende paren variabelen op in de twee VARRAY's. Je zult de grootst mogelijke grootte van je arrays moeten kennen.



  1. Oracle Order By verschillende kolommen zelfde select statement

  2. java.sql.SQLException:I/O-fout:verbinding opnieuw instellen in linux-server

  3. TSQL md5-hash anders dan C# .NET md5

  4. Voortschrijdend gemiddelde op basis van tijdstempels in PostgreSQL