Ich habe zwei Verfahren. Einer wird nacheinander nach dem anderen aufgerufen.WAITFOR für eine Aktion innerhalb der Prozedur
Schritt 1: App (Java) ruft Proc1
create procedure proc1
as
begin
stmt 1
stmt 2
stmt 3
stmt 4 -- select query (result)
end
Schritt 2: Unsere Anwendung (Java) wird das Ergebnis erfassen und die Daten zu manipulieren und es wird in einer anderen Tabelle aktualisiert genannt result_table
Schritt 3: App (Java) Aufruf Proc2
create procedure Proc2
as
begin
stmt 1
stmt 2
stmt 3
stmt 5 -- this step uses result_table
stmt 6
end
Wie Sie in beiden Verfahren sehen können, sind die ersten drei Aussagen gleich. Daher plane ich, beide Verfahren miteinander zu kombinieren, um Doppelungen von Codes zu vermeiden. so etwas wie
create procedure proc1
as
begin
stmt 1
stmt 2
stmt 3
stmt 4 -- select query (result)
--- App(Java) will capture the result and process it
--- wait until the app completes the changes then proceed to stmt 5
stmt 5
stmt 6
end
Hier ist der schwierige Teil ist für die Anwendung warten, um den Vorgang abzuschließen und fahren Sie mit Schritt 5. Können wir für einige Signal oder ähnliches warten innerhalb eines Verfahren. Irgendwelche Ideen ?
Hat gesucht das Forum hat keine richtigen Antworten bekommen.
Mit CLR gespeicherten Prozeduren würde ich raten. Nutzen Sie das .NET Framework, um auf dieses Signal zu warten. Hängt davon ab, was dieses Signal ist natürlich ... –
Gute altmodische Polling ist eine Option (rufen Sie 'WAITFOR DELAY' in einer Schleife). Sie könnten auch eine Nachricht in eine Service-Broker-Warteschlange schreiben und "RECEIVE" (das ist übrigens das einzige, was in einem WAITFOR erlaubt ist). –
Unser App-Code verwendet 'Java'. Leider sind hier keine .NET oder C# Entwickler verfügbar: /. Können wir dies in der Datenbank behandeln lassen? –