Use IF/ELSIF/ELSE to verify the input parameter : Parameters « Function Procedure Packages « Oracle PL/SQL Tutorial






SQL> set serveroutput on
SQL> set echo on
SQL>
SQL> CREATE OR REPLACE FUNCTION emptype (paytype CHAR)
  2       RETURN VARCHAR2 IS
  3  BEGIN
  4       IF paytype = 'H' THEN
  5            RETURN 'Hourly';
  6       ELSIF paytype = 'S' THEN
  7            RETURN 'Salaried';
  8       ELSIF paytype = 'E' THEN
  9            RETURN 'Executive';
 10       ELSE
 11            RETURN 'Invalid Type';
 12       END IF;
 13  EXCEPTION
 14       WHEN OTHERS THEN
 15            RETURN 'Error Encountered';
 16  END emptype;
 17  /

Function created.

SQL>
SQL> BEGIN
  2       DBMS_OUTPUT.PUT_LINE('emptype ' || emptype('H'));
  3       DBMS_OUTPUT.PUT_LINE('emptype ' || emptype('S'));
  4       DBMS_OUTPUT.PUT_LINE('emptype ' || emptype('E'));
  5       DBMS_OUTPUT.PUT_LINE('emptype ' || emptype('A'));
  6  END;
  7  /
emptype Hourly
emptype Salaried
emptype Executive
emptype Invalid Type

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>








27.14.Parameters
27.14.1.Defining Formal Parameters
27.14.2.There are three types of formal parameters in subprograms: IN, OUT, and IN OUT.
27.14.3.Define function with NUMBER type parameter
27.14.4.Function without parameter
27.14.5.Use IF/ELSIF/ELSE to verify the input parameter
27.14.6.Use ROWTYPE as the parameter
27.14.7.Passing parameters to procedures
27.14.8.Using Named Notation
27.14.9.Use mixed notation to avoid the second parameter, but keep the first and third
27.14.10.Parameter Modes
27.14.11.Positional Notation
27.14.12.Positional vs. named parameter passing.
27.14.13.Parameter Default Values
27.14.14.Specifying procedure or function parameters Positional notation
27.14.15.Table collection type parameter
27.14.16.Mixed Name and Position Notation Calls