在创建存储过程、 View 、函数等时,对对象执行 DROP...CREATE 还是 ALTER 更好?
我已经看到许多“标准”文档声明要执行 DROP...CREATE,但我已经看到许多支持 ALTER 方法的评论和论点。
ALTER 方法保留了安全性,而我听说 DROP...CREATE 方法在第一次执行时强制对整个 SP 进行重新编译,而不仅仅是语句级别的重新编译。
有人可以告诉我使用一个比另一个有其他优点/缺点吗?
最佳答案
ALTER 还将强制重新编译整个过程。语句级重新编译适用于过程内部的语句,例如。单个 SELECT,由于基础表更改而重新编译,无需对过程进行任何更改。甚至不可能选择性地重新编译 ALTER 过程中的某些语句,以便了解服务器必须在 ALTER 过程后...编译它的 SQL 文本中发生了什么变化。
对于所有对象,ALTER 总是更好,因为它保留了所有安全性、所有扩展属性、所有依赖项和所有约束。
关于sql - 删除...创建与更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1644999/