ALTER与SQL Server中的DROP&CREATE

use*_*510 5 sql t-sql sql-server sql-server-2005 sql-server-2008

在SQL Server中创建存储过程后,为什么更换CreateAlter?如果我们不改变它会在执行时发生什么?除了检查是否存在和丢弃之外,还有更好的替代品吗?

Ale*_*Aza 7

Create如果表存在,则会失败.Alter如果表不存在将失败.

如果你问为什么要使用,Alter如果你可以放弃和创建,有几个原因:

  • 已经分配给对象的某些权限,如果删除它,则需要重新授予权限
  • 对象可能被其他具有模式绑定的对象使用