यहां एक सरल उदाहरण दिया गया है:
तालिका पर विचार करें:PERSONS (person_id, name)
यह फ़ंक्शन एक कर्सर लौटाएगा जो या तो एक रिकॉर्ड देता है, या कोई तर्क नहीं दिए जाने पर सभी रिकॉर्ड लौटाता है:
CREATE FUNCTION get_person
(person_id IN persons.person_id%TYPE := NULL)
RETURN SYS_REFCURSOR IS
rc SYS_REFCURSOR;
BEGIN
OPEN rc FOR
SELECT *
FROM persons p
WHERE p.person_id = get_person.person_id
OR get_person.person_id IS NULL;
RETURN rc;
END;