Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для запроса информации можно использовать различные инструкции SELECT. Инструкции могут быть базовыми или они могут быть более строгими, чтобы сузить результирующий набор, возвращаемый из запроса.
В следующем примере приведена базовая инструкция SELECT, используемая для запроса данных.
SELECT * FROM Class
Эта инструкция возвращает экземпляры указанного класса и любой из его подклассов. Включены все системные и пользовательские свойства для классов. Если системное свойство не относится к конкретному запросу, оно содержит NULL.
Вы можете использовать несколько методов для уменьшения пропускной способности, необходимой для получения результирующий набор, если выполнение запроса приводит к слишком большой нагрузке, и пользователь заинтересован только в подмножестве свойств. Во-первых, запросы могут заменить звездочку нужными свойствами.
В следующем примере показано, как запрашивать определенные свойства.
SELECT property_1, property_2, property_3 FROM class
Результирующий набор содержит все системные свойства и указанные несистемные свойства.
Другой способ сузить область результирующий набор запроса — использовать __CLASS системное свойство. Запросы по умолчанию возвращают все экземпляры указанного класса и его подклассы. Системное свойство __CLASS можно использовать для запроса только экземпляров указанного класса, за исключением его подклассов.
В следующем примере показано, как использовать __CLASS системное свойство в предложении WHERE.
SELECT * FROM Device WHERE __CLASS = "Device"
Можно также использовать системное свойство __CLASS, чтобы ограничить результирующий набор экземплярами определенных подклассов.
В следующем примере показано, как ограничить результирующий набор экземплярами определенных подклассов.
SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"
Заметка
Если вы создаете запрос с недопустимым путем для внедренного объекта, запрос не возвращает ошибку или какие-либо результаты.
В следующем примере возвращается экземпляр MainClass, при условии, что экземпляр MainClass существует, содержащий внедренный объект EmbeddedObj со свойством P_Uint32 равным "70011".
SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011
В следующем примере не возвращаются результаты и не возвращаются ошибки, предполагая, что внедренный объект EmbeddedObj в экземпляре MainClass не имеет свойства INVALID.
SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011