Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Consiglio su cosa utilizzare(stored procedure, trigger...)

    Ciao a tutti,
    avrei bisogno di una consulenza...ho la necessita di creare un record su una tabella di un database a una certa data e ora. La data e l'ora al quale questo evento deve verificarsi è scritto anch'esso su db, o meglio definito in qualche modo.
    In pratica sto creando un cms nel quale do la possibilità all'utente di creare un evento per una certa data e di schedularlo per un certo periodo, ad esempio ogni settimana allo stesso giorno fino ad una certa data finale.
    Ho pensato quindi che i db abbiano in se qualcosa che possa fare al caso mio, solo che non so se devo documentarmi sui trigger(che vengono chiamati all'accadere di un determinato evento, ma che a quanto ho capito è legato alla modifica di una tupla) o sulle stored procedure...

    Spero che qualcuno possa indirizzarmi..
    Grazie a tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Intanto dovresti specificare (come da regolamento) quale database utilizzi.

    Nello specifico di mysql, a partire dalla versione 5.1, è stato introdotto il supporto degli eventi che permette di pianificare delle operazioni sul db.

    Ti posto un esempio di un evento che inserirà in una tabella un record ogni 5 secondi in un arco di tempo di 3 minuti.

    codice:
    create table eventi (
    id int not null auto_increment,
    dataora datetime,
    primary key (id)
    ) engine = myisam
    
    
    set global event_scheduler = 1;
    
    create event mio_evento 
    on schedule every 5 second starts '2010-08-04 12:05:00' ends '2010-08-04 12:08:00' 
    do insert into eventi (dataora) values (now());

  3. #3
    Scusa....infatti ho dimenticato proprio di specificarlo il db...però c'hai azzeccato...MySql....

    Quindi in questo modo potrei anche schedularlo non ogni "tot" minuti...ma anche ad una certa ora, ogni giorno?

    Comunque grazie mille per la risposta tempestiva!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da spiderman23
    Quindi in questo modo potrei anche schedularlo non ogni "tot" minuti...ma anche ad una certa ora, ogni giorno?
    Certo. Sulla falsariga dell'esempio precedente

    codice:
    create event mio_evento
    on schedule every 1 day
    starts '2010-08-05 10:30:00'
    ends '2010-08-05 10:30:00' + interval 5 day
    do insert into eventi (dataora) values (now());
    creeresti un evento per oggi e per i prossimi 5 giorni ad una determinata ora.

    Per maggiori dettagli consulta il manuale.

    http://dev.mysql.com/tech-resources/...ql-events.html

    Ovviamente devi disporre di mysql versione 5.1 e gli eventi devono essere abilitati.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.