• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/database/helper/common.php
  • Класс: BitrixTasksInternalsDataBaseHelperCommon
  • Вызов: Common::insertBatch
static function insertBatch($tableName, array $items)
{
	$connection = Application::getConnection();
	$sqlHelper = $connection->getSqlHelper();

	$query = $prefix = '';

	foreach ($items as $item)
	{
		list($prefix, $values) = $sqlHelper->prepareInsert($tableName, $item);

		$query .= ($query? ', ' : ' ') . '(' . $values . ')';
		if(mb_strlen($query) > 2048)
		{
			$connection->queryExecute("INSERT INTO {$tableName} ({$prefix}) VALUES {$query}");
			$query = '';
		}
	}
	unset($item);

	if ($query && $prefix)
	{
		$connection->queryExecute("INSERT INTO {$tableName} ({$prefix}) VALUES {$query}");
	}
}