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 に答える