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


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

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

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

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

 

Reference

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

Предложения WHERE