2

我正在尝试查询我的 SQL CE 以检索数据库元数据 - 目前我正在尝试使用以下方法获取索引数据:

select * from information_schema.indexes

但是,此查询将以编程方式运行 - 并且需要以正确的顺序返回所需的列。因此,我构建了以下选择语句:

select Table_Name, Table_Schema, Index_Name, Clustered, Unique, Column_Name from information_schema.indexes

但是,ClusteredandUnique是保留关键字,不能在 select 语句中使用。这样做,我收到以下错误:There was an error parsing the query. [Token line number: 1,Token line offset: 45, 0,Token in error: Clustered,,]

我在这里发现了一个类似的问题(在表或列的标题中使用 SQL 关键字),但该解决方案似乎不适用于 SQL CE(将列名包装在反引号中)。

有什么想法可以从 SQL CE 中的关键字列中实际选择数据吗?

4

2 回答 2

2

那篇文章是关于在 MySQL 中执行此操作的。SQL Server(SQL CE 是其衍生产品)使用方括号作为字段标识符,因此将字段括在方括号 [] 中。

select
    Table_Name,
    Table_Schema,
    Index_Name,
    [Clustered],
    [Unique],
    Column_Name
from information_schema.indexes
于 2013-03-13T14:56:31.713 回答
1

用方括号括起来:

select [Table_Name], [Table_Schema], [Index_Name], [Clustered], [Unique], [Column_Name] from [information_schema].[indexes]
于 2013-03-13T14:56:34.707 回答