Function
From Oracle FAQ
A function is a block of PL/SQL code named and stored within the database. A function always returns a single value to its caller.
Creating and dropping functions[edit]
Create a function:
CREATE OR REPLACE FUNCTION mult(n1 NUMBER, n2 NUMBER) RETURN NUMBER AS BEGIN RETURN n1 * n2; END; /
Remove the function from the database:
DROP FUNCTION mult;
Calling functions[edit]
Call the above function from SQL:
SQL> SELECT mult(10, 2) FROM dual; MULT(10,2) ---------- 20
Call the above function from SQL*Plus:
SQL> VARIABLE val NUMBER SQL> EXEC :val := mult(10, 3); PL/SQL procedure successfully completed. SQL> PRINT :val VAL ---------- 30
Calling the function from PL/SQL:
DECLARE v_val NUMBER; BEGIN v_val := mult(10, 4); Dbms_output.Put_Line('Value is: '|| v_val); END; /
Examples[edit]
Simple lookup function (lookup an employee's salary):
CREATE OR REPLACE FUNCTION get_salary (p_empno NUMBER) RETURN NUMBER AS v_sal emp.sal%TYPE; BEGIN SELECT sal INTO v_sal FROM emp WHERE empno = p_empno; RETURN v_sal; END; /
Also see[edit]
Glossary of Terms | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | # |