ON_TSQL_ERROR Option [TSQL]

Controls error handling in stored procedures.

Allowed Values

String. See Description for allowed values.

Default

CONDITIONAL

Description

ON_TSQL_ERROR controls error handling in stored procedures:

  • STOP– Stops execution immediately upon finding an error.

  • CONDITIONAL – If the procedure uses ON EXCEPTION RESUME, and the statement following the error handles the error, continue; otherwise, exit.

  • CONTINUE – Continue execution, regardless of the following statement. If there are multiple errors, the first error encountered in the stored procedure is returned. This option most closely mirrors Adaptive Server Enterprise behavior.

Both CONDITIONAL and CONTINUE settings for ON_TSQL_ERROR are used for Adaptive Server Enterprise compatibility, with CONTINUE most closely simulating Adaptive Server Enterprise behavior. The CONDITIONAL setting is recommended, particularly when developing new Transact-SQL stored procedures, as CONDITIONAL allows errors to be reported earlier.

Adaptive Server Enterprise compatibility is described in Reference: Building Blocks, Tables, and Procedures.

When this option is set to STOP or CONTINUE, it supersedes the setting of the CONTINUE_AFTER_RAISERROR option. However, when this option is set to CONDITIONAL (the default), behavior following a RAISERROR statement is determined by the setting of the CONTINUE_AFTER_RAISERROR option.

Related reference
CREATE PROCEDURE Statement
CREATE PROCEDURE Statement [T-SQL]
RAISERROR Statement [T-SQL]
CONTINUE_AFTER_RAISERROR Option [TSQL]