🎁 Packages
Package spec and body skeletons for organizing PL/SQL APIs.
| Snippet | |
|---|---|
| ☆Package Spec — Public interface: procedures and functions |
CREATE OR REPLACE PACKAGE emp_pkg AS PROCEDURE raise_salary(p_id NUMBER, p_pct NUMBER); FUNCTION get_salary(p_id NUMBER) RETURN NUMBER; END emp_pkg;
|
| ☆Package Body — Private implementation of the spec |
CREATE OR REPLACE PACKAGE BODY emp_pkg AS PROCEDURE raise_salary(p_id NUMBER, p_pct NUMBER) IS BEGIN UPDATE employees SET salary = salary * (1 + p_pct/100) WHERE id = p_id; END; FUNCTION get_salary(p_id NUMBER) RETURN NUMBER IS v_sal NUMBER; BEGIN SELECT salary INTO v_sal FROM employees WHERE id = p_id; RETURN v_sal; END; END emp_pkg;
|
| ☆Call Package — Invoke a packaged procedure |
BEGIN emp_pkg.raise_salary(100, 10); END;
|
| ☆Package Constant — Shared constants across the app |
CREATE OR REPLACE PACKAGE config_pkg AS c_tax_rate CONSTANT NUMBER := 0.18; END config_pkg;
|