Created
October 22, 2014 12:24
-
-
Save NekoTashi/6dda00a609d2ff69aa18 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE OR REPLACE PACKAGE over_pack | |
IS | |
PROCEDURE add_dept(p_depto IN departments.department_id%TYPE, p_name IN departments.department_name%TYPE DEFAULT 'unknown', p_loc IN departments.location_id%TYPE DEFAULT 0); | |
PROCEDURE add_dept(p_name IN departments.department_name%TYPE DEFAULT 'unknown', p_loc IN departments.location_id%TYPE DEFAULT 0); | |
END over_pack; | |
/ | |
CREATE OR REPLACE PACKAGE BODY over_pack | |
IS | |
PROCEDURE add_dept(p_depto IN departments.department_id%TYPE, p_name IN departments.department_name%TYPE DEFAULT 'unknown', p_loc IN departments.location_id%TYPE DEFAULT 0) | |
IS | |
BEGIN | |
INSERT INTO departments (department_id, department_name, location_id) | |
VALUES (p_depto, p_name, p_loc); | |
END add_dept; | |
PROCEDURE add_dept(p_name IN departments.department_name%TYPE DEFAULT 'unknown', p_loc IN departments.location_id%TYPE DEFAULT 0) | |
IS | |
BEGIN | |
INSERT INTO departments (department_id, department_name, location_id) | |
VALUES (departments_seq.NEXTVAL, p_name, p_loc); | |
END add_dept; | |
END over_pack; | |
/ | |
CREATE TABLE TAX_RATES (rate_name varchar2(10) primary key, rate_value number) | |
/ | |
INSERT INTO TAX_RATES VALUES ('TAX', 0.19); | |
CREATE or REPLACE PACKAGE taxes | |
IS | |
tax NUMBER; | |
END taxes; | |
/ | |
CREATE OR REPLACE PACKAGE BODY taxes | |
IS | |
BEGIN | |
SELECT rate_value | |
INTO tax | |
FROM TAX_RATES | |
WHERE rate_name = 'TAX'; | |
END taxes; | |
/ | |
SET SERVEROUTPUT ON | |
BEGIN | |
DBMS_OUTPUT.PUT_LINE('EL TAX ES ' || taxes.tax); | |
END; | |
/ | |
CREATE OR REPLACE PACKAGE taxes_pack | |
IS | |
FUNCTION tax (p_value IN NUMBER) RETURN NUMBER; | |
END taxes_pack; | |
/ | |
CREATE OR REPLACE PACKAGE BODY taxes_pack | |
IS | |
FUNCTION tax (p_value IN NUMBER) RETURN NUMBER | |
IS | |
v_rate NUMBER := 0.08; | |
BEGIN | |
RETURN(p_value * v_rate); | |
END tax; | |
END taxes_pack; | |
/ | |
DBMS_OUTPUT.PUT_LINE('EL TAX ES ' || taxes_pack.tax(10)); | |
select taxes_pack.tax(salary), salary, last_name FROM employees; | |
CREATE OR REPLACE PACKAGE pack_cur | |
IS | |
CURSOR c1 IS | |
SELECT employee_id | |
FROM employees | |
ORDER BY employee_id DESC; | |
PROCEDURE proc1_3rows; | |
PROCEDURE proc4_6rows; | |
END pack_cur; | |
/ | |
CREATE OR REPLACE PACKAGE BODY pack_cur | |
IS | |
v_empno NUMBER; | |
PROCEDURE proc1_3rows | |
IS | |
BEGIN | |
OPEN c1; | |
LOOP | |
FETCH c1 INTO v_empno; | |
DBMS_OUTPUT.PUT_LINE('Id :' || (v_empno)); | |
EXIT WHEN c1%ROWCOUNT >= 3; | |
END LOOP; | |
END proc1_3rows; | |
PROCEDURE proc4_6rows | |
IS | |
BEGIN | |
LOOP | |
FETCH c1 INTO v_empno; | |
DBMS_OUTPUT.PUT_LINE('Id :' || (v_empno)); | |
EXIT WHEN c1%ROWCOUNT >= 6; | |
END LOOP; | |
CLOSE c1; | |
END proc4_6rows; | |
END pack_cur; | |
/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment