我有一个旧架构需要删除。问题是它的名称中有特殊字符 \
(相信我,我不喜欢模式名称中的特殊字符)。我试过如下命令
DROP SCHEMA databasename."COMPANY\user1"
其中 COMPANY\user1
是架构的名称。
但是,我最终得到如下错误
SQL Error: Incorrect syntax near '.'.`
我已经删除了架构中的所有表,所以我认为不应该有任何剩余的对象。我使用以下命令成功删除了表
DROP TABLE databasename."COMPANY\user1".persontable;
知道为什么我尝试删除模式失败了吗?我确定我在语法中明显遗漏了一些东西。
最佳答案
您尝试过使用方括号吗?
drop schema databasename.[COMPANY\user1]
实际上,这是行不通的,因为 drop schema
不接受数据库(语法 in the documentation 暗示了这一点)。只需进入数据库并执行以下操作:
drop schema [COMPANY\user1]
这对我来说适用于具有不寻常字符的名称。
关于SQL 服务器 : drop schema with special characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408173/