PDA

View Full Version : help per postgre in php (i trigger)


IAmZak
07-02-2008, 12:42
ragazzi ho un problema. faccio l'interazione con il mio database in postgre da php, come ho sempre fatto e ha sempre funzionato. ma per il trigger non va.
il mio codice è questo:

<?php
if($insert_query = @pg_query($conn, "

CREATE OR REPLACE FUNCTION Controlla_Num_Medici_FX() RETURNS trigger AS $Controlla_Num_Medici_FX$
BEGIN

IF EXISTS (SELECT nome_r, nome_padiglione
FROM lavorano NATURAL JOIN personale NATURAL JOIN reparti
WHERE categoria = 'Medico' AND data_f IS NULL AND data_i IS NOT NULL
GROUP BY nome_r, nome_padiglione
HAVING COUNT(*) < 3)
THEN
RAISE EXCEPTION 'In questo reparto ci sono meno di tre medici!';
END IF;
RETURN NEW;
END;
$Controlla_Num_Medici_FX$ LANGUAGE plpgsql;

CREATE TRIGGER Controlla_Num_Medici
AFTER INSERT OR UPDATE ON reparti
FOR EACH ROW EXECUTE PROCEDURE Controlla_Num_Medici_FX()

"))
?>


la funzione e trigger, se li metto così come sono in postgre (pgadmin3) funzionano alla grande, ma al momento di farlo andare da php non vanno.... perchè??? help!

amedeoviscido
07-02-2008, 16:45
ho fatto una ricerca e su un forum suggeriva di utilizzare la query in un comando "pg_prepare" e di dare poi l'execute.
Hai provato ad eseguire la query all'interno di un blocco BEGIN TRANSACTION / COMMIT WORK ???

IAmZak
07-02-2008, 16:51
beh no perchè tutte le interrogazioni/creazioni/popolamento le ho semre fatte così e sono sempre andate.....
<?php
if($insert_query = @pg_query($conn, "

//qua metto i comandi sql, e hanno sempre funzionato, ma i trigger no
//nonostante in pgadminIII(postgre insomma) funzionano

"))
?>

cionci
07-02-2008, 17:46
Thread chiuso
|
V