method
public
MssqlSqlHelper::prepareMergeValues()
Сигнатура
public prepareMergeValues(string $tableName, array<string|int, mixed> $primaryFields, array<string|int, mixed> $insertRows[, array<string|int, mixed> $updateFields = [] ]) : string
Описание
Возвращает подготовленную SQL-строку для upsert нескольких строк.
Параметры
$tableName
string
Имя таблицы.
$primaryFields
array<string|int, mixed>
Поля, которые могут быть конфликтующими ключами (первичные, уникальные ключи).
$insertRows
array<string|int, mixed>
Строки для вставки [['FIELD_NAME' =>'value',...],...], Внимание! используйте одни и те же столбцы в каждой строке.
$updateFields
array<string|int, mixed>
= []
Поля для обновления; если пусто — обновляются все поля; могут быть только именами полей, либо fieldname => expression, либо fieldname => value.
Возвращаемое значение
string
Как применяется в MssqlSqlHelper
MssqlSqlHelper::prepareMergeValues() — метод класса \Bitrix\Main\DB\MssqlSqlHelper модуля «Главный модуль».
Метод объекта: сначала нужен экземпляр MssqlSqlHelper.
use Bitrix\Main\DB\MssqlSqlHelper;
/** @var MssqlSqlHelper $object */
$tableName = '';
$primaryFields = [];
$insertRows = [];
$result = $object->prepareMergeValues($tableName, $primaryFields, $insertRows);
// $result: stringДругие методы MssqlSqlHelper
addDaysToDateTime()Возвращает функцию для добавления временного интервала в днях к $from.addSecondsToDateTime()Возвращает функцию для добавления временного интервала в секундах к $from.castToChar()Возвращает выражение CAST для преобразования поля или выражения в строкуconvertDateField()convertDatetimeField()convertFromDb()Возвращает $value, преобразованный в тип согласно типу $field.convertFromDbDate()convertFromDbDateTime()convertFromDbFloat()convertFromDbInteger()convertFromDbString()convertFromDbText()
prepareMergeValues() есть и у других классов модуля «Главный модуль»: MysqliSqlHelper, OracleSqlHelper, PgsqlSqlHelper, SqlHelper.
Исходный файл: source/main/lib/db/mssqlsqlhelper.php:1000

