Đây là một sự khác biệt khác mà không thường được biết đến. Bạn có thể so sánh hai bảng lồng nhau bằng =
hoặc <>
nhưng mảng kết hợp thì bạn không thể.
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;
Khi bạn làm việc với các bảng lồng nhau, bạn cũng có thể sử dụng Multiset Các nhà khai thác
, Điều kiện Multiset
và SET
không có sẵn cho các mảng liên kết.