Skip to Main Content
Copy values to the clipboard. Create a session in PL/SQL

Counter Package

Example to maintain a counter

Code

-- DROP PACKAGE counter_pkg

CREATE OR REPLACE PACKAGE counter_pkg IS
    FUNCTION get_counter RETURN NUMBER;
    FUNCTION increment_counter RETURN NUMBER;
    FUNCTION reset_counter RETURN NUMBER;
END counter_pkg;

CREATE OR REPLACE PACKAGE BODY counter_pkg IS
    counter NUMBER := 0;
    FUNCTION get_counter RETURN NUMBER IS
    BEGIN
        RETURN counter;
    END get_counter;
    FUNCTION increment_counter RETURN NUMBER IS
    BEGIN
        counter := counter + 1;
        RETURN counter;
    END increment_counter;
    FUNCTION reset_counter RETURN NUMBER IS
    BEGIN
        counter := 0;
        RETURN counter;
    END reset_counter;
END counter_pkg;

Example Usage:


SELECT
    counter_pkg.reset_counter     AS counter_reset,
    counter_pkg.increment_counter AS counter_1,
    counter_pkg.increment_counter AS counter_2,
    counter_pkg.get_counter       AS couter_now
FROM
    dual;