Mengingat ini:
DECLARE
TYPE T_ARRAY IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER;
MY_ARRAY T_ARRAY;
V_COUNT INTEGER;
Saya akan melakukan:
BEGIN
-- ... some code filling the MY_ARRAY array
-- obviously COUNT_ELEMENTS() does not exists, this is what I'm looking for :-)
V_COUNT := COUNT_ELEMENTS(MY_ARRAY);
DBMS_OUTPUT.PUT_LINE('My array containts ' || V_COUNT || ' elements.');
END;
Apakah ada sesuatu yang lebih baik daripada membuat prosedur dengan melakukan loop dasar menambah penghitung? Mungkin fungsi PL / SQL asli sudah melakukan ini COUNT_ELEMENTS()
?
Dalam hal Nested-Table (yaitu tanpa
INDEX BY BINARY_INTEGER
) Anda juga dapat menggunakan CARDINALITYPerbedaan penting: Dalam kasus Nested-Table yang NULL,
COUNT
memunculkan exception,CARDINALITY
mengembalikan NULL.sumber
sumber
Metode dasar adalah:
sumber