Oracle
 sql >> база данни >  >> RDS >> Oracle

Възможно ли е да се създаде тип асоциативен масив на Oracle извън пакет/процедура?

Отговорът е не, не можете да направите това, което се опитвате да направите, както не можете да създадете тип, за да добавите BOOLEAN въведена променлива към обект. Елементите в даден обект трябва да съдържат Oracle типове, а не PL/SQL типове. Малко тромава алтернатива може да бъде:

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;

Съхранявайте вашите свързани двойки променливи в двете VARRAY. Ще трябва да знаете възможно най-големия размер на вашите масиви.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при персонализирана заявка за пагиниране при извличане на първите N реда

  2. Обединете две таблици и намерете припокриващи се дати и пропуски

  3. Разделена със запетая заявка за множество параметри в PLSQL

  4. Настройка на SQL изявления в SQL Developer

  5. Как да получа текстово съдържание от BLOB в Oracle SQL