Trigger before insert

di il
4 risposte

Trigger before insert

Salve a tutti.
devo aggiungere un trigger al new recordo di una tabella, selezionato il numero massimo + 1 di un campo.

Praticamente devo gestire il numero documento di una tabella, ma non deve essere autoincrementante, 
per questo faccio il numero max +1.

su phpmyadmin ho fatto trigger su before -> Insert.
Ho fatto "SELECT max(NUMRIC)+1 as NUMERO;

ma non so come inserire il campo nella tabella
potete aiutarmi... anche per capire se quello che faccio è corretto.




4 Risposte

  • Re: Trigger before insert

    Devi usare la NEW del trigger. Guarda la guida, ci sono alcuni esempi.

  • Re: Trigger before insert

    Sapevo che dovevo mettere new.NUMRIC, nel mio caso .
    ma sbaglio qualcosa nella sintassi, ho errore al salvataggio.
    
  • Re: Trigger before insert

    E senza vedere il codice del Trigger non si sa cosa stai sbagliando.

    Attenzione che stai mettendo le tue risposte nel blocco per il codice…

  • Re: Trigger before insert

    Su phpmyadmin dalla tabella ho fatto triggerm nuovo trigger con before ?Insert
    dentro avevo scritto:

    begin
    VARIABLE MAXNUM INTEGER;
    MAXNUM=0;
    SELECT MAX(RICNUM)+1 INTO MAXNUM;
    NEW.RICNUM = MAXNUM;
    end;

    oppure questa dovrebbe essere la finale

    DECLARE variables MAXNUM INTEGER;
    SELECT COALESCE(MAX(RICNUM),0) FROM RICEVUTE 
    WHERE EXTRACT(YEAR FROM NEW.RICDAT)=EXTRACT(YEAR FROM CURRENT_date) INTO :MAXNUM;
    NEW.ricnum=(:MAXNUM+1);

Devi accedere o registrarti per scrivere nel forum
4 risposte