如果条件存在,我想更改存储过程。如果不满足条件,我想按原样保留存储过程,因此拖放/创建实际上不是一个选择。

试图将ALTER PROC的内容放入IF块对我来说引发了错误。有什么想法吗?

最佳答案

IF (condition)
  EXEC ('ALTER PROC ...')

ALTER/CREATE PROC必须在批次中排在第一位,因此这是唯一的方法。除非你这样做
IF NOT (condition)
   RAISERROR('abort connection with high severity', 20, 1)
GO
ALTER PROC ...

GO

10-04 23:01
查看更多