If you try to comment out the GO keyword inside a batch run, you might not get the results you expect. For example, imagine that the following batch is part of a larger script and you need to comment it out during a testing phase:
SELECT * FROM authors GO
To comment out the batch, you might try to use standard block comment markers on separate lines above and below the code you want to comment out:
/* SELECT * FROM authors GO */
But this change produces the error messages that Figure A and Figure B show. SQL Server's parser doesn't realize that the GO keyword is commented out. Instead, the parser sees two batches. SQL Server thinks the first batch contains the lines
/* SELECT * FROM authors
and the second batch contains one line that consists of the */ comment marker. Instead, you need to comment out the batch by commenting out the GO keyword line separately, as the following examples show:
/* SELECT * FROM authors --GO */
or
/* SELECT * FROM authors /*GO*/ */
The redundant comment markers clarify the code without affecting processing.