DROP FUNCTION opis_rabatu(TEXT);
CREATE OR REPLACE FUNCTION opis_rabatu(k TEXT) RETURNS TEXT AS $$ DECLARE w RECORD;
BEGIN
SELECT INTO w * FROM rabatyjnfo WHERE kod=k;
RETURN w.opis;
END;
$$ LANGUAGE 'plpgsąl';
DROP FUNCTION utworz_rezerwacje(TEXT);
CREATE OR REPLACE FUNCTION utworz_rezerwacje(mail TEXT) RETURNS VOID AS $$
BEGIN
INSERT INTO płatności VALUES (utworz_numer(), NULL, mail);
END;
$$ LANGUAGE 'plpgsąl';
-- 07wyzwalacze.sql -
DROP FUNCTION mozliwosc_rezerwacji();
CREATE OR REPLACE FUNCTION mozliwosc_rezerwacji() RETURNS TRIGGER AS $$
DECLARE
nr INTEGER;
pocz DATĘ;
kon DATĘ;
nrl INTEGER;
poczl DATĘ;
koni DATĘ;
BEGIN
SELECT INTO nr NEW.nr_pokoju;
SELECT INTO pocz NEW.poczatek;
SELECT INTO kon NEW.koniec;
SELECT INTO nrl nr_pokoju FROM rezerwacje WHERE nr_pokoju=nr;
SELECT INTO poczl początek FROM rezerwacje WHERE nr_pokoju=nr;
SELECT INTO koni koniec FROM rezerwacje WHERE nr_pokoju=nr;
IF(
(nr=nrl) AND(
(pocz>=pocz 1 AND pocz<kon 1)
OR
(kon>poczl AND kon<=kon 1)
OR
(pocz<=poczl AND kon>=konl)))
THEN