How to create a function to return some data Few steps as simple as this:
Requirement: Write a function for finding employee's department id by passing employee's id. employee_id will be passed as a parameter.
fUNCTION called find_department: (The difference between the procedure and function - function always return a value).
CREATE OR REPLACE FUNCTION find_department(parm_employee_id IN NUMBER) RETURN NUMBER IS local_dept_id NUMBER;BEGIN SELECT department_id INTO local_dept_id FROM employees WHERE employee_id = parm_employee_id;dbms_output.put_line ('Department id for '||parm_employee_id||' is '|| local_dept_id); RETURN(local_dept_id);EXCEPTION WHEN OTHERS THENdbms_output.put_line (SQLERRM);local_dept_id := 0; RETURN(local_dept_id);END;
Compile the above code in PL/SQL window and function will be created in the database.
Execute this function (With DBMS_ouput turned on) by passing a employee_id (example 100),the result will be displayed.
Note; parm_employee_id is the parameter passed IN. local_dept_id - is a local variable used to SELECT INTO values. dbms_output_put_line - prints the output EXCEPTION - part that handles error and in the case function will return 0 as the department.
|
---|