Wie aktualisiere ich n Zeilen in einer Tabelle?

8

Ich muss die ersten N Zeilen in einer Tabelle aktualisieren, die eine Bedingung erfüllt.

Ich weiß, ich kann ein Update Top N machen ... aber das Problem ist, dass N in einer @ Variable ist.

UPDATE TOP @N SET ... funktioniert nicht.

Gibt es eine Möglichkeit, dies zu tun, die ich gerade vermisse?

Keine spezifischen Tabellendefinitionen hier, weil es keine Rolle spielt, was die Spalten sind. Wenn ich es für eine Tabelle mit einer Spalte machen kann, kann ich es für meine Tabelle tun.

    
Moose 28.09.2009, 15:02
quelle

2 Antworten

16

Sie müssen parens nach TOP -Klausel verwenden, wenn Sie eine Variable verwenden möchten:

%Vor%     
Mehrdad Afshari 28.09.2009, 15:05
quelle
10
%Vor%

UPDATE TOP (@r) funktioniert, aber es aktualisiert alle @r rows in keiner bestimmten Reihenfolge .

Aus der Dokumentation :

  

Die Zeilen, auf die im TOP -Ausdruck verwiesen wird, der mit INSERT , UPDATE oder DELETE verwendet wird, sind nicht in einer Reihenfolge angeordnet. TOP n gibt n zufällige Zeilen zurück.

    
Quassnoi 28.09.2009 15:09
quelle

Tags und Links