2

我有一个名为“数据库”的 MSSQL 数据库。现在,当我尝试使用下面显示的查询重命名它时,

USE master;
GO
ALTER DATABASE Database
Modify Name = Database01
GO

它给了我这个错误信息:

消息 102,级别 15,状态 1,第 1 行“数据库”附近的语法不正确。

但此查询适用于其他数据库。我做错了什么?

4

3 回答 3

7

如果您“引用”表名,它应该可以工作。默认的引号字符是方括号 [],所以:

USE master;
GO
ALTER DATABASE [Database]
Modify Name = Database01
GO
于 2013-06-18T06:42:59.387 回答
1

而不是使用长代码你可以只使用系统内置的存储过程 -sp_renamedb'oldDBName','NewDBName'

于 2013-06-18T12:03:14.087 回答
0

当您必须为表名、数据库名、列名使用保留关键字时,请始终使用 [](大括号)

select * from [Table]代替select * from table

select [column] from [table]代替select column from table

但是将保留关键字作为对象的名称是非常糟糕的主意。

于 2013-06-18T08:17:02.613 回答