Ciao a tutti sono nuovo con PostgreSQL e ho un problemino con la creazione di un ruolo da trigger:
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: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();
Grazie in anticipo![]()

Rispondi quotando