[Gfoss] esempio Trigger semplice

falcerisimone a inwind.it falcerisimone a inwind.it
Lun 18 Dic 2017 10:28:25 CET


Innanzitutto ringrazio Furieri per le osservazioni e i consigli (ho imparato qualcosa di nuovo) :)
Nel mio caso, trattasi di una bozza con pochi elementi per il calcolo delle lunghezze.
Giustamente per una cosa professionale, non ci vuole l'arrotondamento.
Tempo fa sul web ho trovato questo sito:
http://northredoubt.com/n/2012/10/19/spatialite-and-triggers-to-update-data/
dal quale ho studiato e modificato il codice a mia necessità.
Grazie a tutti! :)


 
> Message: 2
> Date: Sat, 16 Dec 2017 00:05:20 +0100
> From: Marco Spaziani <spaziani.marco a gmail.com>
> To: falcerisimone a inwind.it
> Cc: "GFOSS. it" <gfoss a lists.gfoss.it>
> Subject: Re: [Gfoss] esempio Trigger semplice
> Message-ID:
>  <CAN8fdHhct1k3kDO3SYv9Xtxj0zyGDhc5AOqmaN9gyXo2O90Wcg a mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
> 
> ...e meno male che non ne sapevi quasi niente di Trigger !!! ;-)
> 
> Il 14 Dic 2017 6:26 PM, <falcerisimone a inwind.it> ha scritto:
> 
> > Ciao a tutti,
> > non so quasi niente di triggers, ma desidero condividere la conoscenza di
> > un semplice esempio di trigger.
> > In questo esempio si tratta del calcolo automatico della lunghezza di
> > polilinee ogni qualvolta se ne disegnino di nuove oppure aggiornando un
> > solo vertice.
> > In questo modo non dovrete più preoccuparvi di lanciare manualmente ogni
> > volta il calcolo delle lunghezze!
> > In pratica si devono creare due triggers: insert e update.
> > Testato su Spatialite. Enjoy!
> > 
> > Es:
> > [
> > CREATE TABLE ril_lunghezze
> > (pk INTEGER NOT NULL PRIMARY KEY,
> > indirizzo TEXT,
> > lunghezza DOUBLE,
> > note TEXT);
> > 
> > SELECT AddGeometryColumn('ril_lunghezze','geom',32632,'LINESTRING',2);
> > 
> > CREATE TRIGGER insert_calc_length AFTER INSERT ON ril_lunghezze
> > BEGIN
> > UPDATE ril_lunghezze
> > SET
> > lunghezza= ROUND(ST_LENGTH(geom), 2)
> > WHERE ROWID=NEW.ROWID;
> > END
> > 
> > CREATE TRIGGER update_calc_length AFTER UPDATE ON ril_lunghezze
> > BEGIN
> > UPDATE ril_lunghezze
> > SET
> > lunghezza= ROUND(ST_LENGTH(geom), 2)
> > WHERE ROWID=NEW.ROWID;
> > END
> > ]
> > 
> > _______________________________________________
> > Gfoss a lists.gfoss.it
> > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> > Questa e' una lista di discussione pubblica aperta a tutti.
> > I messaggi di questa lista non hanno relazione diretta con le posizioni
> > dell'Associazione GFOSS.it.
> > 801 iscritti al 19/07/2017
> 
> ------------------------------
> 
> Subject: Chiusura del digest
> 
> _______________________________________________
> Gfoss mailing list
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
> 802 iscritti al 30.11.2015
> 
> ------------------------------
> 
> Fine di Digest di Gfoss, Volume 150, Numero 17
> 
> **********************************************


Maggiori informazioni sulla lista Gfoss