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

Каква е разликата между вложен масив и асоциативен масив?

Ето още една разлика, която не е толкова известна. Можете да сравните две вложени таблици с = или <> но асоциативен масив не можете.

DECLARE

    TYPE associative_array IS TABLE OF INTEGER INDEX BY PLS_INTEGER;
    a_var_associative_array associative_array;
    b_var_associative_array associative_array;

    TYPE nested_table IS TABLE OF INTEGER;
    a_var_nested_table nested_table := nested_table(1, 2, 3, 4, 5);
    b_var_nested_table nested_table := nested_table(5, 4, 3, 2, 1);

BEGIN

    IF a_var_nested_table = b_var_nested_table THEN
        -- Note, the different order of values!
        DBMS_OUTPUT.PUT_LINE ( 'TRUE' );
    ELSE
        DBMS_OUTPUT.PUT_LINE ( 'FALSE' );
    END IF;

    -- IF a_var_associative_array = b_var_associative_array THEN -> gives you an error! 

END;

Когато работите с вложени таблици, можете също да използвате Multiset Оператори , Множествени условия и SET които не са налични за асоциативни масиви.



  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

  2. Конвертирайте LONG във varchar в Oracle

  3. Намиране на последния индекс на низ в Oracle

  4. Грешка при инсталиране на клиента на Oracle – пътят е твърде дълъг

  5. Не може да се свърже с Oracle чрез VBA - SQLSetConnectAttr на драйвера е неуспешен