SQLHUB Telegram 1940
🧠 Oracle SQL — продвинутый приём: `MERGE` вместо `UPDATE` + `INSERT`

Если ты сначала пытаешься обновить строку, а если её нет — вставляешь новую, не пиши две команды. Используй MERGE — это быстрее, чище и атомарно.

🔧 Пример:


MERGE INTO employees e
USING (SELECT 101 AS emp_id, 'Alice' AS name FROM dual) src
ON (e.emp_id = src.emp_id)
WHEN MATCHED THEN
UPDATE SET e.name = src.name
WHEN NOT MATCHED THEN
INSERT (emp_id, name)
VALUES (src.emp_id, src.name);


📌 Что делает:
• Ищет по ключу (`ON`)
• Если запись есть — обновляет
• Если нет — вставляет
• Всё за один проход, без гонок и лишних проверок

Почему это важно:
• Меньше round-trip'ов между приложением и БД
• Атомарная логика — MERGE гарантирует целостность
• Лучше подходит для ETL, синхронизации, загрузки внешних данных

🧠 Вывод: если пишешь IF EXISTS THEN UPDATE ELSE INSERT — ты уже проиграл.
Пиши MERGE, и база всё сделает за тебя.



tgoop.com/sqlhub/1940
Create:
Last Update:

🧠 Oracle SQL — продвинутый приём: `MERGE` вместо `UPDATE` + `INSERT`

Если ты сначала пытаешься обновить строку, а если её нет — вставляешь новую, не пиши две команды. Используй MERGE — это быстрее, чище и атомарно.

🔧 Пример:


MERGE INTO employees e
USING (SELECT 101 AS emp_id, 'Alice' AS name FROM dual) src
ON (e.emp_id = src.emp_id)
WHEN MATCHED THEN
UPDATE SET e.name = src.name
WHEN NOT MATCHED THEN
INSERT (emp_id, name)
VALUES (src.emp_id, src.name);


📌 Что делает:
• Ищет по ключу (`ON`)
• Если запись есть — обновляет
• Если нет — вставляет
• Всё за один проход, без гонок и лишних проверок

Почему это важно:
• Меньше round-trip'ов между приложением и БД
• Атомарная логика — MERGE гарантирует целостность
• Лучше подходит для ETL, синхронизации, загрузки внешних данных

🧠 Вывод: если пишешь IF EXISTS THEN UPDATE ELSE INSERT — ты уже проиграл.
Пиши MERGE, и база всё сделает за тебя.

BY Data Science. SQL hub


Share with your friend now:
tgoop.com/sqlhub/1940

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. How to create a business channel on Telegram? (Tutorial) Matt Hussey, editorial director of NEAR Protocol (and former editor-in-chief of Decrypt) responded to the news of the Telegram group with “#meIRL.”
from us


Telegram Data Science. SQL hub
FROM American