SQL Server - 重命名表名的方法

时间:2017-11-07 04:35:41

标签: sql sql-server ssms

我想在SQL Server中重命名一个表。我知道正确的语法是:

sp_rename 'old table name','new table name';

如果我这样写它会有什么不同吗?:

EXEC sp_rename 'old table name','new table name';

我尝试在SQL Server上运行它而没有EXEC,它会用红色突出显示我的语法sp_rename,但它不会抛出任何错误。

有人可以建议正确的方式或任何其他替代方法来重命名表吗?

注意:我知道更改表名会影响或者可能会破坏脚本和存储过程,有什么方法可以防止这种情况发生?或者只有在有另一个表依赖于它时它才会中断?

2 个答案:

答案 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表,该表通常用于标识数据库中的这些对象。