- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/db/pgsqlsqlhelper.php
- Класс: BitrixMainDBPgsqlSqlHelper
- Вызов: PgsqlSqlHelper::prepareMerge
public function prepareMerge($tableName, array $primaryFields, array $insertFields, array $updateFields)
{
$insert = $this->prepareInsert($tableName, $insertFields);
$update = $this->prepareUpdate($tableName, $updateFields);
if (
$insert && $insert[0] != "" && $insert[1] != ""
&& $update
&& $primaryFields
)
{
$sql = 'INSERT INTO ' . $this->quote($tableName) . ' ('.$insert[0].')
VALUES (' . $insert[1] . ')
ON CONFLICT (' . implode(',', array_map([$this, 'quote'], $primaryFields)) . ')
DO UPDATE SET ' . $update[0];
}
else
{
$sql = "";
}
return array(
$sql
);
}