我想在SQL Server中重命名一个表。我知道正确的语法是:
sp_rename 'old table name','new table name';
如果我这样写它会有什么不同吗?:
EXEC sp_rename 'old table name','new table name';
我尝试在SQL Server上运行它而没有EXEC
,它会用红色突出显示我的语法sp_rename
,但它不会抛出任何错误。
有人可以建议正确的方式或任何其他替代方法来重命名表吗?
注意:我知道更改表名会影响或者可能会破坏脚本和存储过程,有什么方法可以防止这种情况发生?或者只有在有另一个表依赖于它时它才会中断?
答案 0 :(得分:1)
您可以使用或不使用EXEC关键字执行存储过程。所以你的方法都是正确的,并且具有相同的效果。
以下3种方法均有效,但最常用的是第1种方法
EXEC sp_rename 'old table name','new table name';
EXECUTE sp_rename 'old table name','new table name';
sp_rename 'old table name','new table name';
答案 1 :(得分:1)
最简单的方法是右键单击表名,然后单击"重命名"。但是,这两种使用proc的方法都是正确的。
我会谨慎使用此过程,尤其是在重命名存储过程时。已记录in many places,sp_rename无法更新sys.procedures表,该表通常用于标识数据库中的这些对象。