Associative Array (Or call it Indexed collection) are sparse. You can do this
type tbl is table of varchar2(10) index by pls_integer;
var(100) := 'karthick';
var(200) := 'oracle';
Such a thing is not possible in nested PL/SQL collection type. If you use Nested collection type you need to use .extend and create 200 elements in your collection to store that 2 values. Basically when ever you want to bulk collect a result from SELECT you can use Nested PL/SQL collection and for manual assignment you can use Associative Array.
Thanks for the reply. You mean to say nested table is sequential and associative array is not sequential but in which scenario we need to specify associative collection. I think we can use nested with the combination of forall and then insert it into target name but I don't know when we usually use associative collection....
any other thoughts?. Any good example for collection?