Ciao a tutti sono nuovo con PostgreSQL e ho un problemino con la creazione di un ruolo da trigger:
codice:
CREATE OR REPLACE FUNCTION create_dip()
RETURNS TRIGGER AS $$
BEGIN
CASE
WHEN NEW.tipo = 'Gestore' THEN
CREATE ROLE NEW.username WITH ENCRYPTED PASSWORD NEW.username NOSUPERUSER LOGIN CONNECTION LIMIT 1 IN ROLE "gestori_compagnia";
RETURN NEW;
WHEN NEW.tipo = 'Addetto' THEN
CREATE ROLE NEW.username WITH ENCRYPTED PASSWORD NEW.username NOSUPERUSER LOGIN CONNECTION LIMIT 1 IN ROLE "addetti_compagnia";
RETURN NEW;
END CASE;
RETURN NULL;
END
$$ LANGUAGE plpgsql;
CREATE TRIGGER insrt_dip BEFORE INSERT ON dipendenti FOR EACH ROW EXECUTE PROCEDURE
create_dip();
il problema è che continuo a ricevere un syntaxt error su $1 che, in questo caso, me lo segnala come NEW.username subito dopo "CREATE ROLE"....io onestamente non trovo alcun errore di sintassi....o pure mi sono perso qualcosa :master:
Grazie in anticipo