Von Zeit zu Zeit sehe ich SQL Server-Anweisungen, die mit Semikolon ';' wie unten';' am Anfang von TSQL-Anweisungen
;WITH cte
AS (SELECT ROW_NUMBER() OVER (PARTITION BY Col1, Col2, Col3
ORDER BY (SELECT 0)) RN
FROM #MyTable)
DELETE FROM cte
WHERE RN > 1
Das andere Beispiel ;THROW
ist Warum genau es ist ein ';' Anfang TSQL Aussagen
Update 1:
Bitte beachten Sie, dass ich mich fragen, ';' am Anfang der Aussagen. Diese Frage ist nicht duplizieren diese eine
When should I use semicolons in SQL Server?
Update 2:
@MartinSmith Antwort macht Sinn.
Nur um sicherzustellen, dass wir eine vollständige Antwort für diesen Beitrag haben, betrachten Sie dieses angesehenen Artikel:
http://www.sommarskog.se/error_handling/Part1.html#jumpTHROW
An diesem Punkt, den Sie selbst sagen könnte: er muss meine Beine Strang ziehen , hat Microsoft wirklich den Befehl aufgerufen, THROW? Ist es nicht nur THROW? Richtig, wenn Sie in der Onlinedokumentation nachschlagen, gibt es kein führendes Semikolon . Aber das Semikolon muss da sein. Offiziell ist es ein Terminator für die vorherige Anweisung, aber es ist optional, und weit von jedem verwendet Semikolons, um ihre T-SQL-Anweisungen zu beenden.
Ich stimme @MartinSmith Antwort, aber es scheint, dass die Angelegenheit auf einige ziemlich extreme Ebenen genommen wird.
In der Regel ist THROW in einer gespeicherten Prozedur eine Anweisung der eigenen Zeile. SQL-Entwickler verschmelzen einfach nicht einfach SQL-Zeilen und verpassen ein Semikolon.
Für mich gibt es mehr Chancen, Menschen aus Versehen einen Tisch fallen als ‚THROW‘ Aussage mit einer anderen Linie von TSQL Misch
ist der Fall erklärt in dem Zitat oben etwas extremer und selten zu geschehen? oder ich verpasse hier einen Punkt?
Vielen Dank für Hilfe hier. Können Sie Ihre Kommentare zu meinen aktualisierten Kommentaren teilen? –
@AllanXu - Ja, ich stimme deinen Gefühlen zu '; THROW' zu - diese Vorgehensweise ist nur etwas, was ich für Code-Beispiele im Internet in Erwägung ziehen würde. Nicht etwas in meinem eigenen Quellcode. Als die richtige Sache zu tun ist nur, um sicherzustellen, dass Sie die vorhergehenden Aussagen (und im Idealfall alle Aussagen) mit Semikola beenden. –