Diese Bedingung können Sie zu Beginn der Prozedur wie folgt hinzufügen -
PROCEDURE Remove_Customer(Customer_Id VARCHAR2) IS
l_Order_Date DATE;
BEGIN
BEGIN
SELECT MAX(Delivery_Date)
INTO l_Order_Date
FROM Placed_Order
WHERE Placed_Order.Fk1_Customer_Id = Customer_Id;
EXCEPTION
WHEN OTHERS THEN
l_Order_Date := SYSDATE - 1;
END;
IF l_Order_Date < SYSDATE THEN
DELETE FROM Order_Line
WHERE Order_Line.Fk1_Order_Id IN
(SELECT Order_Id
FROM Placed_Order
WHERE Placed_Order.Fk1_Customer_Id = Customer_Id);
DELETE FROM Placed_Order
WHERE Placed_Order.Fk1_Customer_Id = Customer_Id;
DELETE FROM Customer WHERE Customer.Customer_Id = Customer_Id;
--Total_Customers := Total_Customers - 1; -- is it a global variable in the package?
ELSE
Dbms_Output.Put_Line('Customer currently has a order been delivered');
END IF;
END;