sql >> Databáze >  >> RDS >> Oracle

Jaký je rozdíl mezi vnořeným polem a asociativním polem?

Zde je další rozdíl, který není tak běžně známý. Dvě vnořené tabulky můžete porovnat s = nebo <> ale asociativní pole nemůžete.

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;

Při práci s vnořenými tabulkami můžete také použít Multiset Operátoři , Podmínky více sad a SET které nejsou dostupné pro asociativní pole.



  1. Seskupte OHLC-Stockmarket Data do více časových rámců - Mysql

  2. Jak převést mysql na laravel query builder

  3. SQL LEFT-JOIN na 2 polích pro MySQL

  4. Povolení Laravel odepřeno na vzdáleném serveru Mysql (AWS aurora)