Вопросы с тегом «merge»

71
MERGE подмножество целевой таблицы

Я пытаюсь использовать MERGEоператор для вставки или удаления строк из таблицы, но я хочу воздействовать только на подмножество этих строк. В документации MERGEесть довольно строго сформулированное предупреждение: Важно указать только столбцы из целевой таблицы, которые используются для...

26
Как вставить или обновить с помощью одного запроса?

У меня есть тест таблицы с идентификатором столбцов, который первичный ключ и автоматически увеличивается и имя. Я хочу вставить новую запись, если и только если нет записей. Например, ввод id = 30122 и имя = Джон если есть записи с идентификатором 30122, я обновляю столбец имени до john, если нет...

23
Почему этот оператор MERGE вызывает прерывание сеанса?

У меня есть следующее MERGEзаявление, которое выдается против базы данных: MERGE "MySchema"."Point" AS t USING ( SELECT "ObjectId", "PointName", z."Id" AS "LocationId", i."Id" AS "Region" FROM @p1 AS d JOIN "MySchema"."Region" AS i ON i."Name" = d."Region" LEFT JOIN "MySchema"."Location" AS z ON...

13
Каковы мои варианты блокировки для оператора слияния?

У меня есть хранимая процедура, которая выполняет MERGEзаявление . Кажется, что при выполнении слияния по умолчанию блокируется вся таблица. Я вызываю эту хранимую процедуру внутри транзакции, где я также делаю некоторые другие вещи, и я хотел бы, чтобы она блокировала только затронутые строки. Я...

12
Является ли MERGE с OUTPUT лучшей практикой, чем условный INSERT и SELECT?

Мы часто сталкиваемся с ситуацией «Если не существует, вставьте». Блог Дэна Гусмана содержит отличное исследование о том, как сделать этот процесс безопасным. У меня есть базовая таблица, которая просто каталогизирует строку в целое число из SEQUENCE. В хранимой процедуре мне нужно либо получить...

9
MERGE предотвращение блокировки

В одной из наших баз данных у нас есть таблица, к которой интенсивно одновременно обращается несколько потоков. Потоки обновляют или вставляют строки через MERGE. Есть также потоки, которые время от времени удаляют строки, поэтому данные таблицы очень изменчивы. Потоки, выполняющие upserts, иногда...

8
MERGE с OUTPUT, похоже, не правильно делает

Я добавляю внешний ключ в таблицу и удаляю все строки, которые нарушают FK, копируя их в таблицу ModifiedTable_invalid. Как часть сценария, у меня есть следующая команда MERGE: MERGE ModifiedTable t1 USING TargetTable tt ON t1.JoinColumn = tt.JoinColumn WHEN MATCHED THEN UPDATE SET t1.FkColumn =...

8
Переполнение размера строки слияния в SQL Server - «Невозможно создать строку размера ...»

Целевая таблица, с которой я пытаюсь объединить данные, имеет ~ 660 столбцов. Код для слияния: MERGE TBL_BM_HSD_SUBJECT_AN_1 AS targetTable USING ( SELECT * FROM TBL_BM_HSD_SUBJECT_AN_1_STAGING WHERE [ibi_bulk_id] in (20150520141627106) and id in(101659113) ) AS sourceTable ON (...) WHEN MATCHED...

8
Является ли использование нескольких уникальных ограничений на одной таблице плохим дизайном?

Я посмотрел на INSERT INTO .. ON CONFLICT (..) DO UPDATE ..синтаксис PostgreSQL и понял, что вы не можете сделать несколько уникальных проверок ограничений с ним. Я имею в виду, что вы либо ссылаетесь на составной уникальный индекс по именам столбцов ON CONFLICT (Name, Symbol)(если уникальный...