PLSQL Functions

Function is a named PL/SQL block that can return a value and can be used in SQL statements. Functions can take parameters, perform operations, and return results.

Features:

  1. Reusable Code: Functions allow you to encapsulate logic that can be reused in different parts of your application or database queries.
  2. Return Values: They can return a single value of a specific data type, such as NUMBER, VARCHAR2, etc.
  3. Input Parameters: Functions can take zero or more input parameters, allowing for dynamic calculations based on input values.
  4. PL/SQL Support: They can include complex logic, such as loops and conditional statements, making them powerful for data processing.
  5. Use in SQL Statements: Functions can be called directly within SQL statements, enabling their use in SELECT, WHERE, and ORDER BY clauses.
  6. Overloading: You can create multiple functions with the same name but different parameter types or counts, allowing for flexibility in usage.
  7. Integration with Triggers and Procedures: Functions can be called from triggers and stored procedures, enhancing their utility in the database.
  8. Security: Functions can encapsulate business logic and help manage access to underlying data by controlling how data is processed and returned.

Simple Example for function:

CREATE OR REPLACE FUNCTION calculate_area(radius IN NUMBER)
RETURN NUMBER
IS
BEGIN
RETURN 3.14 * radius * radius;
END;
/


Run: SELECT calculate_area(5) AS area FROM dual;

Example:

CREATE OR REPLACE FUNCTION increment_salary(emp_id IN NUMBER, increment_amount IN NUMBER)
RETURN VARCHAR2
IS
BEGIN
UPDATE employees
SET salary = salary + increment_amount WHERE employee_id = emp_id
;
COMMIT;  -- Commit the changes
RETURN 'Salary updated successfully.';
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 'Employee not found.';
WHEN OTHERS THEN
RETURN 'An error occurred: ' || SQLERRM;
END;
/


Run: SELECT increment_salary(1, 5000) FROM dual;

Drop the Function:

DROP FUNCTION function_name;

Difference procedure and function:

Function

Procedure

Must return a value

Does not return a value

Can be used in SQL

Cannot be used in SQL

Calculations

Actions and processes

Input parameters only

IN, OUT, IN OUT parameters

Can raise exceptions

Can raise exceptions

Popular posts from this blog

Oracle Database 19C Performance Tunning - PART 1

Oracle RMAN Backup And Restore

Oracle Patching Using Opatch Utility

Welcome to DBA Master – Database Tips, Tricks, and Tutorials

Oracle 19c Database Software Installation in OEL8

PostgreSQL Triggers

PostgreSQL Opensource Installation in RHEL or Oracle Linux(OEL) 8 and above

PostgreSQL Cursor

PostgreSQL Procedures

PostgreSQL User & Role Management