• I believe it is required in the latest SQL standard. (correct me if I'm wrong, I haven't actually read the standards docs)

    One of the reasons that it will be required in future versions is because the T-SQL language is getting more and more complex, and it's getting harder to write the parser so it can always figure out where the statement ends and where the next one starts.

    That's why the MERGE statement has to end with a ;, and why the statement that preceeds a CTE must end with a ;

    T-SQL is one of the few languages that's completely white-space agnostic, yet has no statement terminators.

    p.s. It's Itzik Ben-Gan

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass