• The semicolon is not a batch separator, it is the end of statement character. However, it is not required because the SQL language is specified using Bacus-Naur Form or BNF.

    It is possible when parsing a statement or batch to examine the current statement token and the next statement token, compare them against the BNF definition of the language and determine whether the end of statement has been reached or not without the use of the semi-colon.

    The only batch separator in SQL 2000 is the GO statement which as it happens is not part of the SQL language.

    Stephen Bailey