Was ist der Unterschied zwischen SELECT und SET in T-SQL?

8

Ich arbeite an einem gespeicherten Prozess, der einige dynamische SQL ausführt. Hier ist das Beispiel, das ich auf 4GuysFromRolla.com

gefunden habe %Vor%

Wenn Sie bemerken, verwenden sie das Schlüsselwort SELECT von SET . Ich wusste nicht, dass du das tun kannst. Kann mir jemand die Unterschiede zwischen den 2 erklären? Ich dachte immer, dass SELECT nur zum Auswählen von Datensätzen verwendet wurde.

    
Micah 23.06.2009, 19:28
quelle

5 Antworten

10

SELECT ist ANSI, SET @LocalVar ist MS T-SQL

SELECT erlaubt mehrere Zuweisungen: zB SELECT @foo = 1, @bar = 2

    
gbn 23.06.2009, 19:32
quelle
6

SET ist im Grunde SQL ANSI-Standard für Einstellungsvariablen, SELECT nicht. SET funktioniert nur für einzelne Zuweisungen, SELECT kann mehrere Zuweisungen vornehmen. Anstatt eine lange Erklärung zu schreiben, die an vielen Stellen im Netz gut zusammengefasst ist:

Ryan Farley Blog

tony rogerson

stackoverflow

    
breitak67 23.06.2009 19:44
quelle
2

Auswahl erlaubt mehrere Zuweisungen.

BEARBEITEN Du hast mich um 44 Sekunden geschlagen

    
Eppz 23.06.2009 19:32
quelle
0

SELECTs können schneller sein, wenn Sie mehrere Werte zuweisen müssen:

Ссылка

    
A-K 23.06.2009 19:58
quelle
0

Select kann auch verwendet werden, um die Variablenzuweisung von einer SELECT-Anweisung zu erhalten (vorausgesetzt, die Anweisung gibt nur einen Datensatz zurück)

Wählen Sie @myvariable = myfield aus meiner Tabelle, wo id = 1

    
HLGEM 24.06.2009 14:56
quelle

Tags und Links