Hallo,
bei der Entwicklung einer Datenbankanwendung bewegt mich gerade die Frage, ob eigentlich Stored Procedures atomar ausgeführt werden d.h. in einem Zug, oder es sein kann, dass zwei Stored Procedures gleichzeitig ausgeführt werden können und sich damit gegenseitig beeinflussen?
Ganz konkret will ich eine Insert-Anweisung in eine SP packen, in der ich zunächst prüfe ob bereits ein Eintrag mit diesen Werten in der Datenbank vorhanden ist, d.h. ich mache eine Select-Anweisung und zähle die zurückgegebenen Einträge. Wenn sie 0 sind folgt im nächsten Schritt eine Insert-Anweisung. Ist es möglich, dass wenn nahezu zwei Personen zeitgleich die Prozedur mit gleichen Werten aufrufen, sie genau nach der Select-Anweisung unterbrochen wird und damit am Ende zwei gleiche Einträge in der Datenbank stehen?
bei der Entwicklung einer Datenbankanwendung bewegt mich gerade die Frage, ob eigentlich Stored Procedures atomar ausgeführt werden d.h. in einem Zug, oder es sein kann, dass zwei Stored Procedures gleichzeitig ausgeführt werden können und sich damit gegenseitig beeinflussen?
Ganz konkret will ich eine Insert-Anweisung in eine SP packen, in der ich zunächst prüfe ob bereits ein Eintrag mit diesen Werten in der Datenbank vorhanden ist, d.h. ich mache eine Select-Anweisung und zähle die zurückgegebenen Einträge. Wenn sie 0 sind folgt im nächsten Schritt eine Insert-Anweisung. Ist es möglich, dass wenn nahezu zwei Personen zeitgleich die Prozedur mit gleichen Werten aufrufen, sie genau nach der Select-Anweisung unterbrochen wird und damit am Ende zwei gleiche Einträge in der Datenbank stehen?
Comment