我认为确保脚本可重新运行的最重要的做法是...... 在对脚本进行任何更改后,多次对测试数据库运行它们.您遇到的错误应该会影响您的实践.
编辑
为了响应您对语法的编辑,我认为最好避免系统表支持系统视图,例如
if exists(Select 1 from information_schema.tables where table_name = 'sometable') drop sometable go if exists(Select 1 from information_schema.routines where specific_name = 'someproc') drop someproc
为了简化操作,我将Management Studio配置为将对象脚本化为可重新运行
工具类
选件
SQL Server对象资源管理器
脚本编写
对象脚本选项
包括如果不存在则为真