Till recently, I was under the impression that GO statement’s sole purpose is to convey to the SQL Server the end of a batch of T-SQL Statements. But recently, while searching for some SQL feature details, I landed on to the MSDN page for the GO statement. And to my surprise, I observed that GO statement also has an integer optional parameter, this parameter value signals SQL Server to execute the batch of T-SQL Statement prior to the GO statement to be executed for the specified number of times.
Let us understand this with the following simple example:
Result of executing the above statement is as follows:
Beginning execution loop
Batch execution completed 5 times
This statement is very handy for testing purposes and dev tasks, such as for testing purpose if we need to insert millions of records together, we can achieve this with simple two statements as explained in the above example.
Please correct me if my understanding is wrong. Comments are always welcome, hope this tip helped you. Visit my blog SqlHints.com for such SQL tips/tricks and articles.