added comments for excercises
This commit is contained in:
@@ -7,13 +7,18 @@ CREATE OR REPLACE PACKAGE supermarkt AS
|
|||||||
supplier_article_number VARCHAR2(50)
|
supplier_article_number VARCHAR2(50)
|
||||||
);
|
);
|
||||||
TYPE product_collection IS TABLE OF product_record INDEX BY BINARY_INTEGER;
|
TYPE product_collection IS TABLE OF product_record INDEX BY BINARY_INTEGER;
|
||||||
|
-- Aufgabe 5
|
||||||
PROCEDURE new_delivery(supplier_id NUMBER, delivery_date DATE, products product_collection);
|
PROCEDURE new_delivery(supplier_id NUMBER, delivery_date DATE, products product_collection);
|
||||||
|
-- Aufgabe 6
|
||||||
PROCEDURE change_price(product_id NUMBER, price NUMBER, from_date DATE, special_offer SMALLINT);
|
PROCEDURE change_price(product_id NUMBER, price NUMBER, from_date DATE, special_offer SMALLINT);
|
||||||
|
-- Aufgabe 7
|
||||||
FUNCTION get_delivery_price(delivery_id NUMBER) RETURN Number;
|
FUNCTION get_delivery_price(delivery_id NUMBER) RETURN Number;
|
||||||
|
-- Aufgabe 8
|
||||||
FUNCTION get_price_of_date(product_id NUMBER, p_date DATE) RETURN Number;
|
FUNCTION get_price_of_date(product_id NUMBER, p_date DATE) RETURN Number;
|
||||||
END supermarkt;
|
END supermarkt;
|
||||||
/
|
/
|
||||||
CREATE OR REPLACE PACKAGE BODY supermarkt AS
|
CREATE OR REPLACE PACKAGE BODY supermarkt AS
|
||||||
|
-- Aufgabe 5
|
||||||
PROCEDURE new_delivery(supplier_id NUMBER, delivery_date DATE, products product_collection)
|
PROCEDURE new_delivery(supplier_id NUMBER, delivery_date DATE, products product_collection)
|
||||||
IS
|
IS
|
||||||
begin
|
begin
|
||||||
@@ -27,7 +32,7 @@ CREATE OR REPLACE PACKAGE BODY supermarkt AS
|
|||||||
END LOOP;
|
END LOOP;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
end new_delivery;
|
end new_delivery;
|
||||||
|
-- Aufgabe 6
|
||||||
PROCEDURE change_price(product_id NUMBER, price NUMBER, from_date DATE, special_offer SMALLINT)
|
PROCEDURE change_price(product_id NUMBER, price NUMBER, from_date DATE, special_offer SMALLINT)
|
||||||
IS
|
IS
|
||||||
v_price_at_date NUMBER;
|
v_price_at_date NUMBER;
|
||||||
@@ -49,6 +54,7 @@ CREATE OR REPLACE PACKAGE BODY supermarkt AS
|
|||||||
WHEN NO_DATA_FOUND THEN
|
WHEN NO_DATA_FOUND THEN
|
||||||
RAISE_APPLICATION_ERROR(-20001, 'Artikel mit ID ' || product_id || ' nicht gefunden.');
|
RAISE_APPLICATION_ERROR(-20001, 'Artikel mit ID ' || product_id || ' nicht gefunden.');
|
||||||
END change_price;
|
END change_price;
|
||||||
|
-- Aufgabe 7
|
||||||
FUNCTION get_delivery_price(delivery_id NUMBER) RETURN Number
|
FUNCTION get_delivery_price(delivery_id NUMBER) RETURN Number
|
||||||
IS
|
IS
|
||||||
v_total_price Number;
|
v_total_price Number;
|
||||||
@@ -58,6 +64,7 @@ CREATE OR REPLACE PACKAGE BODY supermarkt AS
|
|||||||
WHERE lieferungsid = delivery_id;
|
WHERE lieferungsid = delivery_id;
|
||||||
RETURN v_total_price;
|
RETURN v_total_price;
|
||||||
END get_delivery_price;
|
END get_delivery_price;
|
||||||
|
-- Aufgabe 8
|
||||||
FUNCTION get_price_of_date(product_id NUMBER, p_date DATE) RETURN NUMBER
|
FUNCTION get_price_of_date(product_id NUMBER, p_date DATE) RETURN NUMBER
|
||||||
IS
|
IS
|
||||||
v_price NUMBER;
|
v_price NUMBER;
|
||||||
@@ -72,6 +79,7 @@ CREATE OR REPLACE PACKAGE BODY supermarkt AS
|
|||||||
|
|
||||||
END supermarkt;
|
END supermarkt;
|
||||||
/
|
/
|
||||||
|
-- Tests
|
||||||
DECLARE
|
DECLARE
|
||||||
products supermarkt.product_collection := supermarkt.product_collection();
|
products supermarkt.product_collection := supermarkt.product_collection();
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -86,4 +94,4 @@ END;
|
|||||||
SELECT * FROM Lieferung;
|
SELECT * FROM Lieferung;
|
||||||
SELECT * FROM LIEFERUNGSDETAILS;
|
SELECT * FROM LIEFERUNGSDETAILS;
|
||||||
SELECT * FROM Artikel;
|
SELECT * FROM Artikel;
|
||||||
SELECT Preis, TO_CHAR(GUELTIGAB, 'dd.mm.yyyy.hh.ss') FROM PREISHISTORIE WHERE ARTIKELID = 1;
|
SELECT * FROM PREISHISTORIE WHERE ARTIKELID = 1;
|
||||||
Reference in New Issue
Block a user