SQL> CREATE FUNCTION max_sal_2(p_dname IN dept.deptname%TYPE)
2 RETURN emp.sal%TYPE IS
3 v_sal emp.sal%TYPE;
4 v_max_sal emp.sal%TYPE;
5 v_deptno emp.deptno%TYPE;
6 CURSOR c_emp IS
7 SELECT sal
8 FROM emp
9 WHERE deptno=v_deptno;
10 BEGIN
11 v_max_sal :=0;
12 SELECT deptno INTO v_deptno FROM dept WHERE deptname=p_dname;
13 OPEN c_emp;
14 LOOP
15 FETCH c_emp INTO v_sal;
16 EXIT WHEN c_emp%NOTFOUND;
17 IF (v_sal>v_max_sal) THEN
18 v_max_sal := v_sal;
19 end if;
20 END LOOP;
21 Close c_emp;
22 retu (v_max_sal);
23 END;
24 /
Waing: Function created with compilation errors.
SQL> show errors:
Errors for FUNCTION MAX_SAL_2:
LINE/COL ERROR
0/0 PL/SQL: Compilation unit analysis terminated
1/36 PLS-00302: component 'DEPTNAME' must be declared
