从SQL CE中的关键字列中选择数据

时间:2013-03-13 14:53:15

标签: sql sql-server-ce

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

select * from information_schema.indexes

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

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

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

我在这里发现了一个类似的问题(Using SQL keyword in title of table or column),但解决方案似乎不适用于SQL CE(在后面的方法中包装列名)。

我是如何实际从SQL CE中的关键字列中选择数据的?

2 个答案:

答案 0 :(得分:2)

该帖子是关于在MySQL中执行此操作的。 SQL Server(其中SQL CE是派生的)使用方括号作为字段标识符,因此将字段括在方括号[]中。

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

答案 1 :(得分:1)

用方括号括起来:

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