C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Oracle FunctionA function is a subprogram that is used to return a single value. You must declare and define a function before invoking it. It can be declared and defined at a same time or can be declared first and defined later in the same block. CREATE function in Oracle
Syntax CREATE [OR REPLACE] FUNCTION function_name [ (parameter [,parameter]) ] RETURN return_datatype IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [function_name]; You must have define some parametrs before creating a procedure or a function. These parameters are
Oracle Function Example
Let's see a simple example to create a function. create or replace function adder(n1 in number, n2 in number) return number is n3 number(8); begin n3 :=n1+n2; return n3; end; / Now write another program to call the function.
DECLARE
n3 number(2);
BEGIN
n3 := adder(11,22);
dbms_output.put_line('Addition is: ' || n3);
END;
/
Output: Addition is: 33 Statement processed. 0.05 seconds Another Oracle Function Example
Let's take an example to demonstrate Declaring, Defining and Invoking a simple PL/SQL function which will compute and return the maximum of two values.
DECLARE
a number;
b number;
c number;
FUNCTION findMax(x IN number, y IN number)
RETURN number
IS
z number;
BEGIN
IF x > y THEN
z:= x;
ELSE
Z:= y;
END IF;
RETURN z;
END;
BEGIN
a:= 23;
b:= 45;
c := findMax(a, b);
dbms_output.put_line(' Maximum of (23,45): ' || c);
END;
/
Output: Maximum of (23,45): 45 Statement processed. 0.02 seconds Oracle function example using tableLet's take a customer table. This example illustrates creating and calling a standalone function. This function will return the total number of CUSTOMERS in the customers table. Create customers table and have records in it.
Create Function:
CREATE OR REPLACE FUNCTION totalCustomers
RETURN number IS
total number(2) := 0;
BEGIN
SELECT count(*) into total
FROM customers;
RETURN total;
END;
/
After the execution of above code, you will get the following result. Function created. Calling Oracle Function:
DECLARE
c number(2);
BEGIN
c := totalCustomers();
dbms_output.put_line('Total no. of Customers: ' || c);
END;
/
After the execution of above code in SQL prompt, you will get the following result. Total no. of Customers: 4 PL/SQL procedure successfully completed. Oracle Recursive FunctionYou already know that a program or a subprogram can call another subprogram. When a subprogram calls itself, it is called recursive call and the process is known as recursion. Example to calculate the factorial of a numberLet's take an example to calculate the factorial of a number. This example calculates the factorial of a given number by calling itself recursively.
DECLARE
num number;
factorial number;
FUNCTION fact(x number)
RETURN number
IS
f number;
BEGIN
IF x=0 THEN
f := 1;
ELSE
f := x * fact(x-1);
END IF;
RETURN f;
END;
BEGIN
num:= 6;
factorial := fact(num);
dbms_output.put_line(' Factorial '|| num || ' is ' || factorial);
END;
/
After the execution of above code at SQL prompt, it produces the following result. Factorial 6 is 720 PL/SQL procedure successfully completed. Oracle Drop FunctionIf you want to remove your created function from the database, you should use the following syntax. Syntax: DROP FUNCTION function_name;
Next TopicOracle Cursor
|