• paul s-306273 (3/16/2011)


    I don't really see the value of this question...

    Also, from BOL:

    { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] }

    One or more Transact-SQL statements comprising the body of the procedure. You can use the optional BEGIN and END keywords to enclose the statements. For information, see the Best Practices, General Remarks, and Limitations and Restrictions sections that follow.

    That states ONE OR MORE, not none or more.

    Another "funny" thing is that BEGIN...END does not define the body of the procedure. You can have multiple BEGIN...END in the body of a procedure, like this:

    create proc test

    as

    begin

    select 1

    end

    begin

    select 2

    endExecuting "test" will return two recordsets.

    A procedure can have an empty body, but BEGIN...END cannot be empty.