Est-il un moyen pour DORMIR() dans une procédure stockée?
J'ai un procédure stockée je voudrais pour toujours, mais le sommeil pendant une seconde dans une boucle. Quand il se réveille, il serait interroger une table pour voir s'il convient de faire quelques travaux. Le travail ne doit être fait que toutes les minutes, il n'y a aucune inquiétude à propos du sondage le tableau se faire frapper avec des mises à jour à partir de deux écrivains dans le même temps.
Quelle est la meilleure façon de SLEEP()
pour un intervalle dans un procédure stockée? Il serait bon, en fait, si elle pouvait dormir pour 200 millisecondes, mais une seconde serait trop de travail.
N'est-il pas de la planification d'installations dans la base de données? Même MySQL en a un.
Je ne sais pas.. est-il? Je ne suis pas sûr de savoir comment facile ce serait de mettre en place un sleep() et de l'installation à l'intérieur de la base de données. Il serait en fait, en y réfléchissant, être extrêmement difficile.
dev.mysql.com/doc/refman/5.1/en/events.html
ce qui est propre! Pouvez-vous la chair que dans une réponse à l'OP peut utiliser?
Je n'ai pas encore utiliser cette fonctionnalité, j'étais au courant de son existence.
Je ne sais pas.. est-il? Je ne suis pas sûr de savoir comment facile ce serait de mettre en place un sleep() et de l'installation à l'intérieur de la base de données. Il serait en fait, en y réfléchissant, être extrêmement difficile.
dev.mysql.com/doc/refman/5.1/en/events.html
ce qui est propre! Pouvez-vous la chair que dans une réponse à l'OP peut utiliser?
Je n'ai pas encore utiliser cette fonctionnalité, j'étais au courant de son existence.
OriginalL'auteur Don Wool | 2012-05-12
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré le même problème. Après googler beaucoup, j'ai découvert que l'on peut utiliser
de retarder nos procédures pour ce nombre de secondes. Dans votre cas, à l'aide de
serait bien.
Cela n'a pas fonctionné pour moi. Je suis à l'aide d'Oracle 11g.
OriginalL'auteur Roger Ray
Vous pouvez utiliser:
Référence: http://dev.mysql.com/doc/refman/5.7/en/do.html
ou
Référence: http://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_sleep
OriginalL'auteur simhumileco
MySQL est un événement planificateur de cuites dans. https://dev.mysql.com/doc/refman/5.6/en/events-overview.html
Exemple:
OriginalL'auteur Sherri Kalm
Vous ne spécifiez la base de données que vous utilisez, mais en général, la façon d'obtenir ce que vous voulez, c'est de ne pas avoir un infinetly l'exécution de la procédure stockée, mais ont certains composant externe - comme un planificateur de tâches, ou de l'Agent SQL Server dans MSSQL - exécuter la procédure stockée chaque tellement souvent.
la base de données est mysql. oui, j'aurais un processus externe d'exécuter ce chaque si souvent si il n'y a aucun moyen de le faire à l'intérieur de la DB.
OriginalL'auteur Stuart
Je voudrais utiliser
cron
(linux) ouPlanificateur de Tâches de Windows
(windows) pour planifier l'exécution, chaque minute, et vous avez votre procédure stockée achever sa tâche, puis sur quitter.L'avoir stocké procs exécuter "pour toujours" est un vraiment mauvaise idée. Vous avez depuis longtemps de connexions (qui peut mourir), vous pouvez par inadvertance verrouiller une table (pour toujours), etc.
Car ils n'ont rien à voir les uns avec les autres, la séparation du "boucle" de votre "groupe" est une bonne conception, et cela signifie que vous pouvez utiliser différents outils qui sont les plus appropriées pour chaque partie.
OriginalL'auteur Bohemian