


Comment effectuer une opération Upsert dans Oracle à l'aide de MERGE ?
Oracle Upsert : mettre à jour ou insérer efficacement des données
Problème :
Comment pouvez-vous effectuer une opération d'insertion dans Oracle : mettre à jour un enregistrement s'il existe ou en insérer un nouveau s'il n'existe pas ?
Solution : La MERGE
Déclaration
Oracle n'a pas de commande UPSERT dédiée. L'instruction MERGE
fournit cette fonctionnalité. Il combine efficacement les opérations de mise à jour et d'insertion en fonction d'une condition de jointure.
Exemple illustratif
Cet exemple présente un upsert utilisant l'instruction MERGE
dans une procédure stockée :
CREATE OR REPLACE PROCEDURE upsert_data (p_id NUMBER, p_value NUMBER) AS BEGIN MERGE INTO my_table target USING dual source ON (target.id = p_id) WHEN MATCHED THEN UPDATE SET target.value = p_value WHEN NOT MATCHED THEN INSERT (id, value) VALUES (p_id, p_value); END; / -- Sample usage and verification CREATE TABLE my_table (id NUMBER PRIMARY KEY, value NUMBER); BEGIN upsert_data(1, 10); upsert_data(1, 20); -- Update existing row upsert_data(2, 30); -- Insert new row END; / SELECT * FROM my_table;
Cette procédure, upsert_data
, prend un identifiant et une valeur. L'instruction MERGE
compare le p_id
fourni avec les identifiants existants dans my_table
.
-
WHEN MATCHED
: Si une correspondance est trouvée, la colonnevalue
est mise à jour enp_value
. -
WHEN NOT MATCHED
: Si aucune correspondance n'est trouvée, une nouvelle ligne est insérée avec lesp_id
etp_value
donnés.
L'instruction SELECT
finale démontre les résultats combinés de mise à jour et d'insertion. Cette approche est efficace et évite le besoin d'instructions UPDATE
et INSERT
séparées avec des vérifications conditionnelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
