Mam procedurę w Oracle, która ma parametr varchar2
. Na podstawie wartości tego parametru muszę zdefiniować kursor. Kursor będzie działał na różnych tabelach w oparciu o wartość parametru.Warunkowo zdefiniuj kursor
Chciałem zrobić coś takiego jak poniżej, ale powoduje to błąd w kodzie definicji CURSOR
. Jakieś pomysły?
PROCEDURE GET_RECORDS(v_action IN VARCHAR2)
IS
CURSOR get_records
IS
IF(v_action = 'DO THIS') THEN
SELECT * from <THIS>;
ELSE
SELECT * from <THAT>;
END IF;
BEGIN
OPEN get_records;
FETCH get_records
INTO v_thing;
v_loop := 0;
WHILE get_records%FOUND
LOOP
FETCH get_records
INTO v_thing;
END LOOP;
CLOSE get_records;
END;
@Vincent ... to jest bomba !!! Działa świetnie ... Dziękuję – MikeTWebb