Problema Creazione Trigger

di il
9 risposte

Problema Creazione Trigger

Salve a tutti, ho un piccolo problema quando tento di creare questo trigger nel BEFORE INSERT:
SET @Data = NEW.Data;

SET @Anno = YEAR(STR_TO_DATE(@Data, "%m/%d/%Y"));
SET @Mese = MONTH(STR_TO_DATE(@Data, "%m/%d/%Y"));

IF (@Mese >= 7) THEN
	
    SET @Stagione = CONCAT(@Anno, "/", (@Anno + 1));
    
END IF;
IF (@Mese < 7) THEN
	
    SET @Stagione = CONCAT((@Anno - 1), "/", @Anno);
    
END IF;

SET NEW.Stagione = @Stagione;
Mi restituisce un "Errore di sintassi" alla linea 3, ovvero alla seconda istruzione e non ne capisco il motivo. Grazie mille in anticipo!

9 Risposte

  • Re: Problema Creazione Trigger

    Ma data è un campo data, o stringa? apparentemente qualche furbone ha memorizzato la data come stringa
  • Re: Problema Creazione Trigger

    +m2+ ha scritto:


    Ma data è un campo data, o stringa? apparentemente qualche furbone ha memorizzato la data come stringa
    No è di tipo data!
    Cattura.PNG
    Cattura.PNG

  • Re: Problema Creazione Trigger

    E allora perchè quella conversione del tutto inutile, e dannosa?
    Puoi applicare (anzi devi) MONTH e YEAR direttamente alla data
  • Re: Problema Creazione Trigger

    +m2+ ha scritto:


    E allora perchè quella conversione del tutto inutile, e dannosa?
    Puoi applicare (anzi devi) MONTH e YEAR direttamente alla data
    Comunque Errore di sintassi linea 3...
    In teoria le funzioni YEAR e MONTH esistono (https://www.w3resource.com/mysql/date-and-time-functions/mysql-month-function.php) perciò non so davvero che c'è che non va.
  • Re: Problema Creazione Trigger

    Non è che in teoria, in pratica esistono (le uso tutti i giorni).
    Posta il trigger intero che sto per uscire.
  • Re: Problema Creazione Trigger

    +m2+ ha scritto:


    Non è che in teoria, in pratica esistono (le uso tutti i giorni).
    Posta il trigger intero che sto per uscire.
    Lo sto creando dall'interfaccia grafica di phpmyadmin perciò quello che ho scritto è solamente quello già messo.
  • Re: Problema Creazione Trigger

    Poi perchè un before insert, invece di after?
  • Re: Problema Creazione Trigger

    +m2+ ha scritto:


    Poi perchè un before insert, invece di after?
    Il "NEW" funziona anche con l'after insert?
  • Re: Problema Creazione Trigger

    Ok, ora funziona! Non so per quale motivo scrivendo lo script SQL intero e non da interfaccia di PhpMyAdmin funziona correttamente! Grazie mille di tutto!
Devi accedere o registrarti per scrivere nel forum
9 risposte