Blockieren gespeicherte Prozeduren Tabellen / Zeilen?

8

Eine ziemlich einfache Frage. Habe ich in SQL 2008, wenn ich eine gespeicherte Prozedur habe (siehe unten), das Risiko einer Wettlaufsituation zwischen den ersten beiden Aussagen oder sperrt die gespeicherte Prozedur die Dinge, die sie berührt, wie Transaktionen?

%Vor%     
Scott Chamberlain 01.10.2010, 16:49
quelle

1 Antwort

3

Sie könnten eine Wettlaufbedingung bekommen.

Es kann in einer Aussage gemacht werden:

  • Sie können in einem UPDATE
  • zuweisen
  • Die Sperrhinweise ermöglichen es einem anderen Prozess, diese Zeile zu überspringen
  • Die OUTPUT-Klausel gibt Daten an den Aufrufer zurück

Probieren Sie das aus ... (Bearbeiten: Holdlock entfernt)

%Vor%

Falls nicht, benötigen Sie möglicherweise eine separate Auswahl

%Vor%

Weitere Informationen finden Sie unter SQL Server-Prozesswarteschlangen-Bedingung

    
gbn 01.10.2010, 16:53
quelle