GO
är faktiskt inte ett T-SQL-kommando. GO
kommandot introducerades av Microsoft-verktyg som ett sätt att separera batch-satser som slutet av en lagrad procedur. GO
stöds av Microsoft SQL stack-verktyg men är inte formellt en del av andra verktyg.
Du kan inte lägga en GO
till en SQL-sträng och skicka den som en del av ett ADO.NET-kommandoobjekt eftersom SQL själv inte förstår termen. Ett annat sätt att visa detta är med profileraren:ställ in några satser som använder GO
i Query Analyzer/Management Studio och kör sedan profileraren när du kör. Du kommer att se att de utfärdas som separata kommandon till servern.
Semikolonet används för att beteckna slutet på själva uttalandet, inte nödvändigtvis en hel batch.
http://msdn.microsoft.com/en-us/library/ms188037 .aspx