Синтаксис текста запросов
Синтаксически текст запроса состоит из набора секций, имеющих определенное назначение, например: выбрать записи из базы данных, отсортировать их, сгруппировать и т. д. Секции состоят из предложений, которые, в свою очередь, содержат ключевые слова (например, ВЫБРАТЬ, ИЗ, ГДЕ и т. п.), обозначающие определенное действие, которое нужно выполнить с базой данных.
Ключевые слова языка запросов нечувствительны к регистру. Мы рекомендуем выбрать один стиль написания (прописными буквами) и его придерживаться, например:
ВЫБРАТЬ
КодУчастника,
ИмяПроцесса
ИЗ
ОбработанныеСообщения
ГДЕ
ИмяПроцесса == "Обмен"
УПОРЯДОЧИТЬ ПО
КодУчастника
Комментарии
В тексте запроса поддерживаются как однострочные, так и многострочные комментарии.
Пример запроса с однострочными комментариями:
ВЫБРАТЬ
КодУчастника,
ИмяПроцесса // Необходимо включить и другие поля
ИЗ
ОбработанныеСообщения
ГДЕ
ИмяПроцесса == "Обмен" // Лучше передавать имя процесса параметром
УПОРЯДОЧИТЬ ПО
КодУчастника
Пример запроса с многострочным комментарием:
ВЫБРАТЬ
КодУчастника,
ИмяПроцесса
ИЗ
ОбработанныеСообщения
/*ГДЕ
ИмяПроцесса == "Обмен"
УПОРЯДОЧИТЬ ПО
КодУчастника*/
Текст комментария и его положение относительно секций и предложений сохраняются при форматировании.
Пример запроса с комментариями до форматирования:
знч Запрос = Запрос{
ВЫБРАТЬ
/* Необходимо перепроверить выборку
В новых релизах возможны изменения */
/* После изменения методов работы с валютами
переоценить подход к выборке */
КурсыВалютСрезПоследних.Валюта КАК Валюта,
КурсыВалютСрезПоследних.Период КАК Период,
КурсыВалютСрезПоследних.Курс КАК Курс, // Сделать строку последней
КурсыВалютСрезПоследних.Кратность КАК Кратность
ЗАПОЛНИТЬ
КурсВалюты
ИЗ
КурсыВалют.СрезПоследних(%ДатаКурса) КАК /* Пересмотреть это представление */ КурсыВалютСрезПоследних
ГДЕ
КурсыВалютСрезПоследних.Валюта == %Валюта // Эта секция кажется избыточной
}
Пример запроса с комментариями после форматирования:
знч Запрос = Запрос{
ВЫБРАТЬ
// Необходимо перепроверить выборку
// В новых релизах возможны изменения
// После изменения методов работы с валютами
// переоценить подход к выборке
КурсыВалютСрезПоследних.Валюта КАК Валюта,
КурсыВалютСрезПоследних.Период КАК Период,
КурсыВалютСрезПоследних.Курс КАК Курс,
// Сделать строку последней
КурсыВалютСрезПоследних.Кратность КАК Кратность
ЗАПОЛНИТЬ
КурсВалюты
ИЗ
// Пересмотреть это представление
КурсыВалют.СрезПоследних(%ДатаКурса) КАК КурсыВалютСрезПоследних
ГДЕ
КурсыВалютСрезПоследних.Валюта == %Валюта /* Эта секция кажется избыточной */
}
Экранирование имен
Для экранирования имен таблиц, полей и псевдонимов полей, не являющихся корректными идентификаторами, необходимо использовать пару символов `
. Например: `Имя с пробелом`
.
Если вам требуется включить в имя символ `
, удвойте его: `Имя с символом ` ` в середине`
.
Имена таблиц, содержащие точку (например, КурсыВалют.СрезПоследних
), экранирования не требуют.