Stored Procedure Existence Checks in Command Batches

In pre-11.5 versions, an entire batch fails during compilation if a stored procedure named in the batch does not exist. In 11.5.x and later versions, the existence of stored procedures included in batches is not checked until execution time.

Each command in the batch succeeds or fails independently at execution time unless begin transaction and commit or rollback transaction commands are used, so other commands in the batch may succeed, while the stored procedure execution returns an error message.

For example, this batch attempts to execute a procedure that does not exist:

ANY_COMMAND_BEFORE exec proc_that_does_not_exist ANY_COMMAND_AFTER

In pre-11.5 versions, the entire batch would fail at compilation time. In 11.5.1 and later versions, the commands before and after the missing procedure execute (if they do not return errors) but proc_that_does_not_exist returns an error.