如何重命名SQL Server中的表?

我用过的SQL查询是:

ALTER TABLE oldtable RENAME TO newtable;

但是,它给了我一个错误。

服务器:消息156,级别15,状态1,行1
关键字'TO'附近的语法错误。


要在SQL Server中重命名表,请使用sp_rename命令:

exec sp_rename 'schema.old_table_name', 'new_table_name'

重命名列:

sp_rename 'table_name.old_column_name', 'new_column_name' , 'COLUMN';

重命名表格:

sp_rename 'old_table_name','new_table_name';

在使用sp_rename时,它的作用与上面的答案类似,请检查重命名后哪些对象受到影响,引用该表,因为还需要更改这些表

我在这里为Pinal Dave的博客介绍了表依赖关系的代码示例

USE AdventureWorks
GO
SELECT
referencing_schema_name = SCHEMA_NAME(o.SCHEMA_ID),
referencing_object_name = o.name,
referencing_object_type_desc = o.type_desc,
referenced_schema_name,
referenced_object_name = referenced_entity_name,
referenced_object_type_desc = o1.type_desc,
referenced_server_name, referenced_database_name
--,sed.* -- Uncomment for all the columns
FROM
sys.sql_expression_dependencies sed
INNER JOIN
sys.objects o ON sed.referencing_id = o.[object_id]
LEFT OUTER JOIN
sys.objects o1 ON sed.referenced_id = o1.[object_id]
WHERE
referenced_entity_name = 'Customer'

所以,所有这些依赖对象也需要更新

如果可以的话,或者使用一些插件,其中一些插件可以重命名对象,并且都依赖于对象

链接地址: http://www.djcxy.com/p/24747.html

上一篇: How to rename a table in SQL Server?

下一篇: how to use for loop in stored procedure sql server 2005