Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Qual è la differenza tra; e VAI in T-SQL?

GO non è in realtà un comando T-SQL. Il GO comando è stato introdotto dagli strumenti Microsoft come un modo per separare le istruzioni batch come la fine di una stored procedure. GO è supportato dagli strumenti dello stack Microsoft SQL ma non fa formalmente parte di altri strumenti.

Non puoi inserire un GO in una stringa di SQL e inviarlo come parte di un oggetto comando ADO.NET poiché SQL stesso non comprende il termine. Un altro modo per dimostrarlo è con il profiler:imposta alcune istruzioni che usano GO in Query Analyzer/Management Studio e quindi eseguire il profiler durante l'esecuzione. Vedrai che vengono inviati come comandi separati al server.

Il punto e virgola viene utilizzato per indicare la fine di un'istruzione stessa, non necessariamente un intero batch.

http://msdn.microsoft.com/en-us/library/ms188037 .aspx