Класс SqlserverCompiler
Отвечает за компиляцию объекта Query в его представление SQL для SQL Server
Краткое описание свойств
- $_deleteParts protected
arrayСписок частей запроса для обработки при генерации оператора DELETE
- $_insertParts protected
arrayСписок частей запроса для обработки при генерации оператора INSERT
- $_orderedUnion protected
boolSQL Server не поддерживает ORDER BY в запросах UNION.
- $_quotedSelectAliases protected
boolУказывает, требуется ли всегда заключать алиасы в SELECT-оператор в кавычки.
- $_selectParts protected
arrayСписок частей запроса для обработки при генерации оператора SELECT
- $_templates protected
arrayСписок шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые части запроса могут быть построены как прямое конкатенация внутренних частей, они перечислены здесь.
- $_updateParts protected
arrayСписок частей запроса для обработки при генерации оператора UPDATE
Краткое описание методов
-
_buildFromPart() protected
Вспомогательная функция для построения строкового представления части FROM, она строит список таблиц, учитывая алиасы и преобразование объектов выражений в строки.
-
_buildHavingPart() protected
Вспомогательная функция для построения строкового представления части HAVING, она строит список полей, учитывая алиасы и преобразование объектов выражений в строки.
-
_buildInsertPart() protected
Генерирует часть INSERT SQL-запроса
-
_buildJoinPart() protected
Вспомогательная функция для построения строкового представления нескольких частей JOIN, она строит список объединений, учитывая алиасы и преобразуя объекты выражений в строки как для таблицы, которая присоединяется, так и для условий, которые должны быть использованы.
-
_buildLimitPart() protected
Генерирует часть LIMIT SQL-запроса
-
_buildModifierPart() protected
Строит фрагмент SQL-модификатора
-
_buildSelectPart() protected
Вспомогательная функция для построения строкового представления части SELECT, она строит список полей, учитывая алиасы и преобразование объектов выражений в строки. Эта функция также строит условие DISTINCT для запроса.
-
_buildSetPart() protected
Вспомогательная функция для генерации SQL для выражений SET.
-
_buildUnionPart() protected
Строит строку SQL для всех частей UNION в этом запросе, при работе с объектами запроса также преобразует их с использованием их настроенного диалекта SQL.
-
_buildUpdatePart() protected
Строит фрагмент SQL для UPDATE.
-
_buildValuesPart() protected
Строит фрагмент SQL для INSERT INTO.
-
_buildWindowPart() protected
Вспомогательная функция для построения строкового представления части окна.
-
_buildWithPart() protected
Вспомогательная функция для построения строкового представления части
WITH, она строит список определений CTE, не генерируя ключевое словоRECURSIVE, которое ни требуется, ни допустимо. -
_sqlCompiler() protected
Возвращает вызываемый объект, который может быть использован для компиляции строкового представления SQL этого запроса.
-
_stringifyExpressions() protected
Вспомогательная функция для преобразования объектов ExpressionInterface внутри массива в их строковое представление.
-
compile() public
Возвращает строковое представление SQL предоставленного запроса после генерации заглушек для связанных значений с использованием предоставленного генератора.
Подробное описание методов
_buildFromPart() protected
_buildFromPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления предложения FROM, она строит список таблиц, учитывая алиасы и перевод объектов выражения в строку.
Параметры
-
array$parts список таблиц, которые необходимо преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildHavingPart() protected
_buildHavingPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления предложения HAVING, она строит список полей, учитывая алиасы и перевод объектов выражения в строку.
Параметры
-
array$parts список полей, которые необходимо преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildInsertPart() protected
_buildInsertPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Генерирует часть INSERT SQL-запроса
Для лучшего управления конкурентностью и низкими уровнями изоляции транзакций, мы также включаем предложение OUTPUT, чтобы гарантировать получение данных вставленной строки обратно.
Параметры
-
array$parts Части для построения
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildJoinPart() protected
_buildJoinPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления нескольких предложений JOIN, она строит список объединений, учитывая алиасы и перевод объектов выражения в строку как для таблицы, к которой выполняется объединение, так и для условий, которые будут использоваться.
Параметры
-
array$parts список объединений, которые необходимо преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildLimitPart() protected
_buildLimitPart(int $limit, Cake\Database\Query $query): string
Генерирует часть LIMIT SQL-запроса
Параметры
-
int$limit ограничение
-
Cake\Database\Query$query Запрос, который компилируется
Возвращаемое значение
string_buildModifierPart() protected
_buildModifierPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL-модификатора
Параметры
-
array$parts Части модификатора запроса
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildSelectPart() protected
_buildSelectPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления предложения SELECT, она строит список полей, учитывая алиасы и перевод объектов выражения в строку. Эта функция также строит предложение DISTINCT для запроса.
Параметры
-
array$parts список полей, которые необходимо преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildSetPart() protected
_buildSetPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для генерации SQL для выражений SET.
Параметры
-
array$parts Список ключей и значений для установки.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildUnionPart() protected
_buildUnionPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит SQL-строку для всех предложений UNION в этом запросе. При работе с объектами запросов также преобразует их с использованием их настроенного SQL-диалекта.
Параметры
-
array$parts список запросов, над которыми необходимо выполнить операцию UNION
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildUpdatePart() protected
_buildUpdatePart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит SQL-фрагмент для UPDATE.
Параметры
-
array$parts Части обновления.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildValuesPart() protected
_buildValuesPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит SQL-фрагмент для INSERT INTO.
Параметры
-
array$parts Части значений.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildWindowPart() protected
_buildWindowPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления предложения window.
Параметры
-
array$parts Список окон, которые необходимо преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_buildWithPart() protected
_buildWithPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления предложения WITH, она строит список определений CTE, не генерируя ключевое слово RECURSIVE, которое не требуется и недействительно.
Параметры
-
array$parts Список CTE, которые необходимо преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
string_sqlCompiler() protected
_sqlCompiler(string $sql, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): Closure
Возвращает вызываемый объект, который может быть использован для компиляции строкового представления SQL этого запроса.
Параметры
-
string$sql начальная SQL-строка, к которой нужно добавить
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Привязка значений, используемая для генерации замены параметров
Возвращаемое значение
Closure_stringifyExpressions() protected
_stringifyExpressions(array $expressions, Cake\Database\ValueBinder $binder, bool $wrap = true): array
Вспомогательная функция для преобразования объектов ExpressionInterface в массиве в их строковое представление.
Параметры
-
array$expressions список строк и объектов ExpressionInterface
-
Cake\Database\ValueBinder$binder Связующее значение для генерации заменителей параметров
-
bool$wrap необязательно Указывает, нужно ли заключать каждый объект выражения в скобки
Возвращаемое значение
arraycompile() public
compile(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Возвращает SQL представление предоставленного запроса после генерации заменителей связанных значений с помощью предоставленного генератора
Параметры
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Связующее значение для генерации заменителей параметров
Возвращаемое значение
stringДетали свойств
$_deleteParts protected
Список положений запроса, которые необходимо пройти для генерации оператора DELETE
Тип
array$_insertParts protected
Список положений запроса, которые необходимо пройти для генерации оператора INSERT
Тип
array$_orderedUnion protected
SQLserver не поддерживает ORDER BY в запросах UNION.
Переопределяется в подклассах.
Тип
bool$_quotedSelectAliases protected
Указывает, нужно ли всегда заключать псевдонимы в SELECT-запросе в кавычки.
Тип
bool$_selectParts protected
Список положений запроса, которые необходимо пройти для генерации оператора SELECT
Тип
array$_templates protected
Список шаблонов sprintf, которые будут использоваться для компиляции SQL для данного запроса. Некоторые предложения могут быть построены как непосредственное конкатенация внутренних частей, эти части перечислены здесь.
Тип
array$_updateParts protected
Список положений запроса, которые необходимо пройти для генерации оператора UPDATE
Тип
array
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Database.SqlserverCompiler.html