Iteration per GO statt per WHILE Schleife
Schleifen zum Abarbeiten von Batches bildet man in T-SQL mittels einer WHILE Schleife ab.
Ab Microsoft SQL Server 2005 hat man den Batchtrenner, was per Default ja das GO ist, um einen Parameter für die Anzahl der Durchläufe anzugeben.
Also: Schreibe ich GO 3, wird der Batch drei Mal durchlaufen.
Demo:
SET NOCOUNT ON; GO -- Bisher: per While Schleife DECLARE @loop smallint = 0; WHILE @loop < 3 BEGIN SELECT GETDATE() AS DatumZeit; SET @loop += 1; END GO -- Ab Microsoft SQL Server 2005 -- Interation per Go + Anzahl Loops SELECT GETDATE() AS DatumZeit; GO 3 -- <= heisst: Führe den gesamten Batch 3 mal aus
Das bekommt man dann nach der Ausführung im SSMS entsprechend gemeldet:
Beginning execution loop DatumZeit ----------------------- 2009-10-01 20:24:12.717 DatumZeit ----------------------- 2009-10-01 20:24:12.747 DatumZeit ----------------------- 2009-10-01 20:24:12.763 Batch execution completed 3 times.
Werbung
Diesen Post teilen
Um über die neuesten Artikel informiert zu werden, abonnieren:
Kommentiere diesen Post
E
O