Ich habe eine Prozedur, die den Fehler 'PL/SQL: Anweisung ignoriert' ausgibt. Diese Meldung ist ein wenig vage und ich kann nicht herausfinden, warum meine Prozedur nicht kompiliert werden will. Die Prozedur soll nur überprüfen, ob das Lieferdatum des Kunden kleiner ist als SYSDATE und falls ja, den Kunden löschen und falls nicht 'Kunde kann nicht gelöscht werden' ausgeben.
Der Code für die Prozedur lautet:
CREATE PROCEDURE remove_customer (customer_id VARCHAR2) IS
declare
ordersCount pls_integer;
BEGIN
select count(*) into ordersCount
from placed_orders
where fk1_customer_id = remove_customer.customer_id
and delivery_date < sysdate;
if ordersCount = 0 then
THEN
DELETE FROM order_line
WHERE order_line.FK1_order_id in
(SELECT order_id FROM placed_order
WHERE placed_order.FK1_customer_id = remove_customer.customer_id
);
DELETE FROM placed_order
WHERE placed_order.FK1_customer_id = remove_customer.customer_id;
DELETE FROM customer
WHERE customer.customer_id = remove_customer.customer_id;
total_customers := total_customers - 1;
ELSE
DBMS_OUTPUT.PUT_LINE 'Kunde hat derzeit eine gelieferte Bestellung';
END IF;
END;
Und die Fehlermeldung besagt PLS-00103: Symbol "DECLARE" gefunden
Vielen Dank für jeglichen Rat.