CCDOTTSVR@vizdev> DECLARE 2 v_start_time DATE; 3 4 FUNCTION use_explicit_cursor 5 RETURN BOOLEAN 6 IS 7 CURSOR c_select IS 8 SELECT 1 9 FROM ul4; 10 v_row c_select%ROWTYPE; 11 v_return BOOLEAN := FALSE; 12 BEGIN 13 OPEN c_select; 14 FETCH c_select INTO v_row; 15 IF c_select%FOUND 16 THEN 17 v_return := TRUE; 18 END IF; 19 20 CLOSE c_select; 21 22 RETURN v_return; 23 END use_explicit_cursor; 24 25 FUNCTION use_select_into_1 26 RETURN BOOLEAN 27 IS 28 v_count BINARY_INTEGER; 29 BEGIN 30 SELECT count(*) 31 INTO v_count 32 FROM ul4 33 WHERE ROWNUM = 1; 34 RETURN TRUE; 35 EXCEPTION 36 WHEN NO_DATA_FOUND 37 THEN 38 RETURN FALSE; 39 END use_select_into_1; 40 41 FUNCTION use_select_into_2 42 RETURN BOOLEAN 43 IS 44 v_count BINARY_INTEGER; 45 BEGIN 46 SELECT 1 47 INTO v_count 48 FROM ul4 49 WHERE ROWNUM = 1; 50 RETURN TRUE; 51 EXCEPTION 52 WHEN NO_DATA_FOUND 53 THEN 54 RETURN FALSE; 55 END use_select_into_2; 56 57 BEGIN 58 v_start_time := SYSDATE; 59 IF use_explicit_cursor 60 THEN 61 DBMS_OUTPUT.PUT_LINE('use_explicit_cursor returned TRUE!!!'); 62 ELSE 63 DBMS_OUTPUT.PUT_LINE('use_explicit_cursor returned FALSE!!!'); 64 END IF; 65 DBMS_OUTPUT.PUT_LINE('use_explicit_cursor Time (seconds) ' || 66 ROUND((SYSDATE - v_start_time)*(24*60*60), 2)); 67 68 v_start_time := SYSDATE; 69 IF use_select_into_1 70 THEN 71 DBMS_OUTPUT.PUT_LINE('use_select_into returned TRUE!!!'); 72 ELSE 73 DBMS_OUTPUT.PUT_LINE('use_select_into returned FALSE!!!'); 74 END IF; 75 DBMS_OUTPUT.PUT_LINE('use_select_into_1 Time (seconds) ' || 76 ROUND((SYSDATE - v_start_time)*(24*60*60), 2)); 77 78 v_start_time := SYSDATE; 79 IF use_select_into_2 80 THEN 81 DBMS_OUTPUT.PUT_LINE('use_select_into returned TRUE!!!'); 82 ELSE 83 DBMS_OUTPUT.PUT_LINE('use_select_into returned FALSE!!!'); 84 END IF; 85 DBMS_OUTPUT.PUT_LINE('use_select_into_2 Time (seconds) ' || 86 ROUND((SYSDATE - v_start_time)*(24*60*60), 2)); 87 END; 88 / use_explicit_cursor returned TRUE!!! use_explicit_cursor Time (seconds) 0 use_select_into returned TRUE!!! use_select_into_1 Time (seconds) 0 use_select_into returned TRUE!!! use_select_into_2 Time (seconds) 0 PL/SQL procedure successfully completed. Elapsed: 00:00:00.00 CCDOTTSVR@vizdev> spool off