Re: compilation error in plsql
Date: Mon, 7 Apr 2008 22:15:43 +0200
Message-ID: <47fa80ee$0$14345$e4fe514c@news.xs4all.nl>
chris wrote:
> Hi,
>
> I'm a new learner of pl/sql programing & try to write a basic
> function; however, I can't figure out why my function is not compiling
> correctly. Could someone pls let me know if you see where is the
> problem? This is 10g & I'm writing it using iSQL*PLUS.
>
> CREATE OR REPLACE FUNCTION check_sal (empno employees.employee_id
> %TYPE)
> RETURN boolean IS
>
> dept_id employees.department_id%TYPE;
> sal employees.salary%TYPE;
> avg_sal employees.salary%TYPE;
>
> BEGIN
> SELECT salary, department_id, INTO sal, dept_id FROM employees
> WHERE employee_id = empno;
> SELECT AVG(salary) INTO avg_sal FROM employees WHERE department_id
> = dept_id;
>
> IF sal > avg_sal THEN
> RETURN TRUE;
> ELSE
> RETURN FALSE;
> END IF;
> END;
> /
> show errors
>
> Errors for FUNCTION CHECK_SAL:
>
> LINE/COL ERROR
> 8/4 PL/SQL: SQL Statement ignored
> 8/34 PL/SQL: ORA-00936: missing expression
>
> TIA,
> -Chris
Your variable declarations should be preceded by the "DECLARE" keyword.
HTH.
-- JeroenReceived on Mon Apr 07 2008 - 15:15:43 CDT