Oracle check if value exists in associative array:
Use EXISTS collection method to check if any value exists in associative array or not.
--Oracle check if value exists in associative array-- SET SERVEROUTPUT ON; DECLARE TYPE T_NUM IS TABLE OF NUMBER INDEX BY PLS_INTEGER; V_NUM T_NUM; BEGIN V_NUM(1) := 1; V_NUM(2) := 3; V_NUM(3) := 5; IF V_NUM.EXISTS(1) THEN DBMS_OUTPUT.PUT_LINE('Element 1 exists.'); END IF; IF V_NUM.EXISTS(4) THEN DBMS_OUTPUT.PUT_LINE('Element 4 exists.'); ELSE DBMS_OUTPUT.PUT_LINE('Element 4 does not exists.'); END IF; IF V_NUM.EXISTS(2) = TRUE THEN DBMS_OUTPUT.PUT_LINE('Element 2 exists.'); ELSE DBMS_OUTPUT.PUT_LINE('Element 2 does not exists.'); END IF; END; /
Use PLSQL block to check if any value exists in the associative array or not
--Oracle check if value exists in associative array: Example DECLARE TYPE T_FNAME IS TABLE OF EMPLOYEES.FIRST_NAME%TYPE INDEX BY PLS_INTEGER; V_FNAME T_FNAME; TYPE T_LNAME IS TABLE OF EMPLOYEES.LAST_NAME%TYPE INDEX BY PLS_INTEGER; V_LNAME T_LNAME; BEGIN SELECT FIRST_NAME, LAST_NAME BULK COLLECT INTO V_FNAME, V_LNAME FROM EMPLOYEES WHERE LAST_NAME LIKE '%King%'; -- FOR I IN 1..V_LNAME.COUNT LOOP IF V_LNAME(I) = 'King' THEN DBMS_OUTPUT.PUT_LINE('King exists in the Employee list -> '||V_FNAME(I)||' '||V_LNAME(I)); END IF; END LOOP; END; /
RELATED TOPICS: