2008-08-24 17 views

Répondre

5

Résumé: Oui, si votre base de données dispose d'un service de file d'attente de messages.

Vous pouvez placer un message dans une file d'attente et le processeur de file d'attente le consomme de manière asynchrone.

  • Oracle: les files d'attente
  • Sql Server: Service Broker
  • DB2: courtier d'événements

Pour "purs" langages de procédures stockées (PL/Sql ou T-Sql) la réponse est non , car cela va à l'encontre du modèle de transaction fondamental que possèdent la plupart des bases de données. Cependant, si votre base de données possède un mécanisme de mise en file d'attente, vous pouvez l'utiliser pour obtenir le même résultat.

1

Avec MS SQL Server 2005, essayez les procédures stockées Service Broker et/ou CLR. Je ne pense pas qu'il y ait quoi que ce soit construit directement dans TSQL.

0

Il semble que vous ayez besoin de mettre en place des tâches planifiées avec Cron (ou Windows equiv). Vous pouvez utiliser l'appel proc initial stocké pour définir un type d'indicateur dans la base de données, qui est ensuite vérifié périodiquement par un travail cron. Si vous avez besoin d'un délai spécifique avant l'exécution du deuxième travail, vous devriez être en mesure de le faire en ayant la tâche planifiée par le travail cron.