Call EXIT WHEN to exit a function : For Loop « PL SQL « Oracle PL / SQL






Call EXIT WHEN to exit a function

    
SQL>
SQL>    CREATE OR REPLACE function exitfunc(p_pass_string VARCHAR2)
  2          RETURN NUMBER IS
  3               v_MYCOUNTER INTEGER := 1;
  4               v_COUNTNOSP NUMBER := 0;
  5     BEGIN
  6          WHILE v_MYCOUNTER <= LENGTH(p_PASS_STRING) LOOP
  7               IF SUBSTR(p_PASS_STRING,v_MYCOUNTER,1) != ' ' THEN
  8                    v_COUNTNOSP := v_COUNTNOSP + 1;
  9               ELSE
 10                   NULL;
 11              END IF;
 12              v_MYCOUNTER := v_MYCOUNTER + 1;
 13              EXIT WHEN SUBSTR(p_PASS_STRING,v_MYCOUNTER,1) = ' ';
 14         END LOOP;
 15         RETURN v_COUNTNOSP ;
 16    END exitfunc;
 17    /

Function created.

SQL>
SQL>
SQL>   DECLARE
  2         v_MYTEXT VARCHAR2(20) := 'THIS IS A TEST';
  3    BEGIN
  4         DBMS_OUTPUT.PUT_LINE('Total count is ' || exitfunc(v_MYTEXT));
  5    END;
  6    /
Total count is 4

PL/SQL procedure successfully completed.

SQL>
SQL> --

   
    
    
  








Related examples in the same category

1.Your first FOR loop
2.For loop: counter IN 1..5
3.Nesting FOR loops
4.REVERSE: Reversing the loop
5.Changing the loop increment
6.Use variable as an upper bound of for loop
7.Exit(break) a for loop
8.Call EXIT to exit a for loop
9.Put DBMS_OUTPUT.PUT_LINE in for loop
10.If... End if
11.A numeric FOR loop with insert statement
12.Use for counter in insert statement
13.The scope of the index of a FOR LOOP.
14.FOR Loop Ranges with variable
15.FOR Loop Scoping Rules
16.Numeric FOR Loop
17.Loop till count(*)
18.Use for loop as if statement
19.Use for loop to loop through result from a select statement
20.Define a looping indexer as member variable in a procedure
21.Numeric loop will ignore the externally scoped variable and create a new locally scoped variable.
22.Nested for loop
23.Nested for loop vs table join in for loop
24.loop index scope is limited to the FOR loop.
25.starting_number and ending_number must be integers.
26.For each reverse