T-SQL für jede Alternative?

7

Ich muss Daten von einer Tabelle nehmen und sie in eine andere Tabelle importieren. In Pseudocode, etwa so:

%Vor%

Was ist der beste Weg, dies in T-SQL zu tun? Wie ich es verstehe, unterstützt T-SQL nicht für jeden ... Next, also welche Alternativen habe ich?

    
davemackey 08.06.2010, 22:32
quelle

7 Antworten

7

Wenn alle Dinge gleich sind, sind setbasierte Operationen besser.

%Vor%     
Gratzy 08.06.2010, 22:43
quelle
9

Wenn Sie SQL Server 2008 verwenden, können Sie die MERGE -Anweisung verwenden . Vielleicht in etwa so:

%Vor%     
LukeH 08.06.2010 22:48
quelle
4

Sie können dafür einen Cursor verwenden, wie andere beschrieben haben. Persönlich mag ich zwei Aussagen in Folge wie folgt:

%Vor%     
roufamatic 08.06.2010 22:41
quelle
4

dies in einer while-Schleife zu tun ist einfach falsch.
Für Ihre Situation können Sie die neue MERGE-Anweisung in SQL Server 2008 verwenden.
Hier ist ein einfaches Beispiel zur Vorgehensweise.

    
Mladen Prajdic 08.06.2010 22:47
quelle
4

Wenn Sie SQL Server 2008 verwenden, können Sie dies am besten mit MERGE tun. Aussage. Etwas wie ...

%Vor%     
Greg Beech 08.06.2010 22:48
quelle
3

Sie geben TSQL an, geben jedoch keine Version an. Wenn Sie SQL2008 verwenden, sollte die Merge -Anweisung tun, was Sie brauchen.

    
Martin Smith 08.06.2010 22:48
quelle
0

Eine der gebräuchlichsten Methoden ist die Verwendung von Cursorn. Auf diese Weise können Sie jeden Datensatz, den Ihre Abfrage zurückgibt, durchlaufen und entsprechend behandeln, entweder mit UPDATE oder INSERT.

Siehe: Ссылка

    
Chris E 08.06.2010 22:36
quelle

Tags und Links