SELECT-Anweisung für Datenabfragen
Sie können verschiedene SELECT-Anweisungen zum Abfragen von Ereignisinformationen verwenden. Die Anweisungen können grundlegende Anweisungen oder einschränkender sein, um das von der Abfrage zurückgegebene Resultset einzugrenzen.
Das folgende Beispiel ist eine grundlegende SELECT-Anweisung, die zum Abfragen von Daten verwendet wird.
SELECT * FROM Class
Diese Anweisung gibt Instanzen der angegebenen Klasse und einer von deren Unterklassen zurück. Alle system- und benutzerdefinierten Eigenschaften für die Klassen sind darin enthalten. Wenn eine Systemeigenschaft für eine bestimmte Abfrage nicht relevant ist, enthält sie NULL.
Sie können mithilfe von mehreren Techniken die zum Abrufen des Resultsets erforderliche Bandbreite reduzieren, wenn die Ausführung der Abfrage zuviel Mehraufwand verursacht und der Benutzer nur an einer Teilmenge der Eigenschaften interessiert ist. Zuerst können Abfragen das Sternchen durch die gewünschten Eigenschaften ersetzen.
Im folgenden Beispiel wird gezeigt, wie bestimmte Eigenschaften abgefragt werden.
SELECT property_1, property_2, property_3 FROM class
Das Resultset enthält alle Systemeigenschaften und die angegebenen Nichtsystemeigenschaften.
Eine weitere Technik zum Einschränken des Bereichs für das Resultset einer Abfrage ist die Verwendung der Systemeigenschaft __CLASS. Abfragen geben standardmäßig alle Instanzen der angegebenen Klasse und von deren Unterklassen zurück. Sie können die Systemeigenschaft __CLASS verwenden, um nur Instanzen der angegebenen Klasse ohne deren Unterklassen anzufordern.
Im folgenden Beispiel wird gezeigt, wie die Systemeigenschaft __CLASS in einer WHERE-Klausel verwendet wird.
SELECT * FROM Device WHERE __CLASS = "Device"
Sie können die Systemeigenschaft __CLASS auch verwenden, um das Resultset auf Instanzen bestimmter Unterklassen einzuschränken.
Im folgenden Beispiel wird gezeigt, wie das Resultset auf Instanzen bestimmter Unterklassen eingeschränkt wird.
SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"
Hinweis
Wenn Sie eine Abfrage mit einem ungültigen Pfad für ein eingebettetes Objekt erstellen, gibt sie keinen Fehler oder keine Ergebnisse zurück.
Im folgenden Beispiel wird eine Instanz von MainClass zurückgegeben – vorausgesetzt, dass eine Instanz von MainClass vorhanden ist, die das eingebettete Objekt EmbedObj mit der Eigenschaft P_Uint32 enthält, die gleich „70011“ ist.
SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011
Das folgende Beispiel gibt keine Ergebnisse und keinen Fehler zurück – vorausgesetzt, dass das eingebettete Objekt EmbedObj in der Instanz von MainClass nicht die Eigenschaft INVALID hat.
SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011