考虑下面的存储过程:有没有办法让SQL Server存储过程自动出错?
CREATE PROCEDURE [dbo].[TestError]
@Input int
AS
BEGIN
DECLARE @Test int = 1/0;
INSERT TestTable (Number)
VALUES (@Input);
END
,把它:
EXEC TestError 123;
当我执行这个存储过程中,TestTable
表依然被填充,尽管错误。
是否可以将存储过程设置为在出错时自动退出,以便后续语句不会被执行?
看看使用try/catch。 –