Frage

Ist es möglich, asynchron eine gespeicherte Prozedur von einer anderen gespeicherten Prozedur zu nennen?

Edit: Speziell mit einer DB2-Datenbank ich arbeite.

War es hilfreich?

Lösung

Zusammenfassung:. Ja, wenn Ihre Datenbank einen Message Queue-Dienst hat

Sie können eine Nachricht an eine Warteschlange drücken und die Warteschlange Prozessor wird es asynchron verbrauchen.

  • Oracle: Warteschlangen
  • SQL Server: Service-Broker
  • DB2: Event-Makler

Für „reine“ Stored Procedure Sprachen (PL / SQL- oder T-SQL) die Antwort ist nein, denn es arbeitet gegen das grundlegende Transaktionsmodell der meisten Datenbanken haben.

Allerdings, wenn Ihre Datenbank einen Warteschlangenmechanismus verfügt, können Sie verwenden, um das gleiche Ergebnis zu erhalten.

Andere Tipps

Mit MS SQL Server 2005 versuchen, den Service Broker und / oder CLR gespeicherte Prozeduren. Ich glaube nicht, dass es etwas direkt in TSQL gebaut.

Es klingt wie Sie einige geplante Aufträge an Ort und Stelle mit Cron (oder Fenster Äquivalente) setzen müssen. Sie konnten den anfänglichen gespeicherte Prozedur-Aufruf eine Art Flag im DB gesetzt, die dann regelmäßig durch einen cron-Job überprüft wird. Wenn Sie eine bestimmte Verzögerung haben müssen, bevor der zweite Job ausführt, sollten Sie in der Lage sein, das zu tun, indem Sie die Aufgabe durch den Cron-Job eingeplant hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top