Stored Procedure Function Oracle PLSQL

SQL>
SQL> CREATE OR REPLACE FUNCTION updNVal (
  2     tab IN VARCHAR2,
  3     col IN VARCHAR2,
  4     val IN NUMBER,
  5     whr IN VARCHAR2 := NULL,
  6     sch IN VARCHAR2 := NULL)
  7     RETURN INTEGER
  8  IS
  9  BEGIN
 10     EXECUTE IMMEDIATE
 11        'UPDATE ' || NVL (sch, USER) || '.' || tab ||
 12        '   SET ' || col || ' = :the_value
 13          WHERE ' || NVL (whr, '1=1')
 14       USING val;
 15     RETURN SQL%ROWCOUNT;
 16  END;
 17  /
Function created.
SQL>