Sun WBEM SDK 開発ガイド

データ照会の実行

データ照会とは、クラスのインスタンスを要求する文です。データ照会を発行するには、execQuery メソッドを使って WQL 文字列を CIM Object Manager に渡します。

SELECT 文

情報を検索する SQL 文は SELECT 文です。これには、WQL 固有の制約と拡張がいくつかあります。SQL SELECT 文は通常データベース環境でテーブルから特定の列を取り出すために使用されますが、WQL SELECT 文は単一クラスのインスタンスを取り出すために使用されます。WQL では、複数のクラスに渡る照会はサポートされません。

SELECT 文では、FROM 節に指定されたオブジェクトで検索するプロパティを指定します。

SELECT 文の基本的な構文は、次のとおりです。

SELECT instance FROM class

次の表に、SELECT 節の引数の使用例を示します。

表 4–5 SELECT 文

照会例 

説明 

SELECT * FROM class

指定されたクラスとそのすべてのサブクラスのすべてのインスタンスを選択する。 

SELECT PropertyA FROM class 

指定されたクラスとそのすべてのサブクラスのうち、PropertyA を持つクラスまたはサブクラスのインスタンスだけを選択する。

SELECT PropertyA, PropertyB FROM class

指定されたクラスとそのすべてのサブクラスのうち、PropertyAPropertyB を持つクラスまたはサブクラスのインスタンスだけを選択する。

WHERE 節

WHERE 節を使うと、照会のスコープを狭めることができます。WHERE 節には、プロパティまたはキーワード、演算子、定数を指定します。WHERE 節には、あらかじめ定義された WQL 演算子の 1 つを必ず指定する必要があります。

WHERE 節を SELECT 文の後に追加する基本的な構文は、次のとおりです。

SELECT instance FROM class WHERE expression

expression には、プロパティまたはキーワード、演算子、定数を指定します。WHERE 節を SELECT 文の後に追加するには、次のどちらかの形式を使用します。

SELECT instance FROM class [[WHERE property operator constant]]

SELECT instance FROM class [[WHERE constant operator property]]

WHERE 節は次の規則に従っている必要があります。

WHERE 節中には、論理演算子やかっこ式を使って、プロパティ、演算子、定数からなる複数のグループを結合することができます。次の表に示すように、個々のグループは、AND、OR、NOT 演算子で結合されている必要があります。

表 4–6 論理演算子を使った照会

照会例 

説明 

SELECT * FROM Solaris_FileSystem WHERE Name= "home" OR Name= "files" 

Name プロパティに homefiles が設定されている Solaris_FileSystem クラスのすべてのインスタンスを検索する。

SELECT * FROM Solaris_FileSystem WHERE (Name = “home” OR Name = “files”) AND AvailableSpace > 2000000 AND FileSystem = “Solaris” 

名前が homefiles のディスクのうち、一定の使用可能な容量が残っており、かつ Solaris ファイルシステムを持つディスクを検索する。