Also ich habe eine Tabelle rental in der eine Auflistung von verliehenen Filmen ist. Nun soll der Trigger bei einem Insert prüfen ob der Film aktuell noch verliehen ist. Soweit so gut...xD Nur verstehe ich nicht was ich machen soll wenn er nicht verliehen ist? Was gibt meine Funktion dann zurück?
Hier ist einmal meine Funktion für den Trigger:
Die Funktion soll dann als Trigger verwendet werden
Hier ist einmal meine Funktion für den Trigger:
SQL:
CREATE FUNCTION prevent_doublerental(inventory_id integer, rental_date timestamp) RETURNS trigger -- <--- Keine Ahnung was hier hin soll
LANGUAGE plpgsql
AS $$
DECLARE
tmpSQL TEXT;
BEGIN
tmpSQL := 'Select inventory_id FROM rental r WHERE r.inventory_id = ' || inventory_id ' and r.return_date > ' || rental_date;
IF NEW.inventory_id IN EXECUTE tmpSQL THEN
RAISE EXCEPTION 'This Film is already rented and cannot be rented at the moment!';
END IF;
RETURN NEW;
END $$;
Die Funktion soll dann als Trigger verwendet werden