Home > Tips & Tricks > GO ed escuzioni multiple della stessa istruzione

GO ed escuzioni multiple della stessa istruzione

Il comando GO che utilizziamo per separare in batch le istruzioni TSQL può essere associato ad un valore numerico.
A cosa server tale valore?
A far eseguire N volte le istruzioni contenute nel batch.

Ovvero scrivendo un’istruzione come:

PRINT ‘ciao’
GO 3

Otteniamo questo risultato:

Beginning execution loop
ciao
ciao
ciao
Batch execution completed 3 times.

La cosa si fa interessante in tutti quegli scenari in cui abbiamo la necessità di popolare alcune tabelle con dati di test o di prova.
Qualcosa del genere:

USE tempdb
GO

CREATE TABLE test
(
idRecord SMALLINT,
dateInsert DATETIME DEFAULT (GETDATE()),
col VARCHAR(35)
)
GO

INSERT test (col) VALUES (‘aaa bbb ccc’)
GO 1000

SELECT COUNT(1) FROM test
GO

DROP TABLE test
GO

 

Il risultato:

Batch execution completed 1000 times.

———–
1000

Chi è Davide Mauri

Microsoft Data Platform MVP dal 2007, Davide Mauri si occupa di Data Architecture e Big Data nel mondo dell'IoT. Attualmente ricopre il ruolo di "Director Software Development & Cloud Infrastructure" in Sensoria, societa specializzata nella creazione di Wearables e sensori per l'IoT applicati a tessuti ed oggetti sportivi.

Leggi Anche

String or Binary data would be truncated: replacing the infamous error 8152 … also in SQL Server 2017

Come già annunciato allo scorso Ignite, una delle nuove (tra le tante) feature di SQL …