Višestruko izvršavanje istog upita – GO n

Objavljeno: 15-02-2014 | Autor: Nenad Živković | Kategorija: Management Studio

0

Jedna od manje poznatih funkcionalnosti SQL Server Management Studia, a koja zna da bude korisna povrеmeno, je mogućnost da izvršite istu komadnu (ili grupu komandi) više puta. Naime jednostavno navođenje broja (n) iza reči GO na kraju upita, izvršiće taj upit n puta.

Tako, na primer, ako ukucamo:

SELECT 'SQL Kefalo';
GO 3

dobićemo tri seta rezultata sa ispisom SQL Kefalo

GO n

Ovo naravno, ne možete koristiti u procedurama i funkcijama, a ni u nekim produkcionim scenarijima, s obzirom da je rezervisana rečca GO poznata samo Management Studiu kao separator upita i neće je prepoznati drugi programi. No, glavna upotrebna vrednost ove funkcionalnosti je u testne svrhe. Ukoliko želite brzo da kreirate test tabelu sa mnogo redova, možete to postići, npr. ovakvim upitom:

CREATE TABLE #GoTest (Id INT IDENTITY(1,1), GuidKolona UNIQUEIDENTIFIER);
GO
INSERT INTO #GoTest VALUES (NEWID()); 
GO
INSERT INTO #GoTest SELECT NEWID() FROM #GoTest;
GO 20

Nakon kreiranja tabele i dodavanja prvog reda, 20 puta ponovljeno dupliranje redova i brzo i jednostavno imamo milion testnih redova, bez upotrebe WHILE petlje, CURSOR-a ili sličnih konstrukcija.