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: