SQL 服务器 : drop schema with special characters

标签 sql sql-server

我有一个旧架构需要删除。问题是它的名称中有特殊字符 \(相信我,我不喜欢模式名称中的特殊字符)。我试过如下命令

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/

相关文章:

mysql - 合适的子句返回 null 和非 null 值,但其他错误

php - 我需要帮助将链接插入我的数据库

sql - PostgreSQL SQL语句生成自定义blob存储表

mysql - 选择操作期间出现不明确的列名错误

mysql - 在 PHPMyAdmin 中执行程序

C# 本地 SQL 行返回 if 语句

SQL 使用值序列更新表列

sql - 选择嵌套 JSON 数组包含特定值的行

sql - 与 1 行合并效率低下

sql-server - 如何在 SQL Server 中编写 foreach?