当涉及到创建存储过程、视图、函数等时,对对象执行 DROP...CREATE 或 ALTER 哪个更好?
我见过许多“标准”文档声称要执行 DROP...CREATE,但我也见过许多提倡使用 ALTER 方法的评论和争论。
ALTER 方法保留了安全性,而我听说 DROP...CREATE 方法会在第一次执行时强制对整个 SP 进行重新编译,而不仅仅是语句级重新编译。
有人可以告诉我使用其中一种相对于另一种是否还有其他优点/缺点吗?
ALTER 还将强制重新编译整个过程。语句级重新编译适用于过程内的语句,例如。单个 SELECT,由于基础表更改而重新编译,而不对过程进行任何更改。甚至不可能有选择地重新编译 ALTER 过程中的某些语句,以便理解what在 ALTER 过程之后,SQL 文本发生更改,服务器必须......对其进行编译。
对于所有对象,ALTER 总是更好,因为它保留了所有安全性、所有扩展属性、所有依赖关系和所有约束。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)