Поделиться через


Предикаты SCOPE и DIRECTORY

Предикаты глубины папки управляют областью поиска путем указания пути и выполнения глубокого или мелкого обхода. Ниже показан синтаксис предикатов глубины папки:

... WHERE [{SCOPE | DIRECTORY}='<protocol>:[{SID}]<path>']

За предикатом следует знак равенства. Путь раскрыт в одинарных кавычках и должен начинаться с протокола и двоеточия (например, file:, mapi:или csc:). Предикат SCOPE выполняет глубокий обход пути, включая все вложенные папки, в то время как предикат DIRECTORY выполняет неглубокий обход только указанной папки. Как и другие ограничения языка структурированных запросов (SQL), можно указать несколько ограничений глубины папки в одном запросе.

Чтобы запросить локальный каталог удаленного компьютера, добавьте имя компьютера перед каталогом и UNC-путь на удаленном компьютере в предложении SCOPE или DIRECTORY.

Примеры

SELECT System.ItemName FROM SystemIndex WHERE SCOPE='file:C:/Files/Reports'

SELECT System.ItemName FROM SystemIndex WHERE DIRECTORY='file:C:/Files/Reports' 

SELECT System.ItemName FROM SystemIndex WHERE SCOPE='file:C:/Files/Published' OR SCOPE='file:C:/Files/Reports' AND NOT SCOPE='file:C:/Files/Reports/Confidential'

SELECT System.ItemName FROM zarasmachine.SystemIndex WHERE SCOPE='file://zarasmachine/C:/Files/Reports'

SELECT System.ItemURL FROM SystemIndex WHERE SCOPE='mapi://{S-1-5-21-2117521111-1604012920-1887927527-2285604}/Mailbox user/' AND CONTAINS('Microsoft')

В первом примере SCOPE выполняется поиск папки C:\Files\Reports и всех вложенных папок. В примере DIRECTORY выполняется поиск только корневой папки C:\Files\Reports.

Заметка

Обратная косая черта файловой системы (\) становится метками косой черты в стиле URL-адреса (иногда называются косыми чертами вперед) (/).

 

Справочник

предложение FROM

предложение WHERE