Maison > base de données > Oracle > A quoi sert la mise à jour dans Oracle

A quoi sert la mise à jour dans Oracle

WBOY
Libérer: 2022-03-01 17:10:53
original
29999 Les gens l'ont consulté

Utilisation de la mise à jour dans Oracle : 1. Utilisé pour modifier les données de la table, la syntaxe est "UPDATE nom de la table SET nom de la colonne = nouvelle valeur WHERE nom de la colonne = certaine valeur" 2. Utilisé pour créer une table en associant deux affichage et mise à jour des tableaux.

A quoi sert la mise à jour dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

À quoi sert update dans Oracle ? En plus de l'instruction de mise à jour standard, Oracle fournit également d'autres méthodes de mise à jour des données pour gérer différents scénarios d'application :

update_statement ::=
UPDATE {table_reference | [THE] (subquery1)} [alias]
 SET {
        column_name = {sql_expression | (subquery2)}
      | (column_name [,column_name]...) = (subquery3)} 
        [,{column_name = {sql_expression | (subquery2)}
      | (column_name [,column_name]...) = (subquery3)
     }]...
 [WHERE {search_condition | CURRENT_OF cursor_name}] [returning_clause]
Copier après la connexion

Mise à jour standard

L'instruction Update est utilisée pour modifier les données de la table. . La syntaxe dans W3school :

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
Copier après la connexion

update join view

update join view consiste d'abord à créer une vue en associant deux tables, puis à mettre à jour la vue pour atteindre l'objectif de mise à jour de la table source :

update (select bonus
          from employee_bonus b
         inner join employees e on b.employee_id = e.employee_id
         where e.bonus_eligible = 'N') t
   set t.bonus = 0
Copier après la connexion

Tout comme le principe ci-dessus est pareil, ce qui est entre parenthèses est une vue, et ce qui est dans l'ensemble est le champ qui doit être mis à jour. Cette méthode est directe et efficace, mais elle est assez restrictive. La clé primaire de la table des employés doit apparaître dans. la condition Where, sinon une erreur sera signalée, ORA-01779 : Les colonnes correspondant aux tables non enregistrées avec des valeurs-clés ne peuvent pas être modifiées.

merge into

merge into est une déclaration unique d'Oracle :

MERGE INTO table_name alias1
USING (table | view | sub_query) alias2
ON (join condition)
WHEN MATCHED THEN
  UPDATE table_name SET col1 = col_val1,col2 = col2_val
WHEN NOT MATCHED THEN
  INSERT (column_list) VALUES (column_values);
Copier après la connexion

Son principe est que les données sélectionnées dans alias2 sont comparées à ON (condition de jointure) de alias1. Si elles correspondent, elles sont mises à jour. , s'il n'y a pas de correspondance, effectuez l'opération d'insertion (Insérer)

@H_301_73@Méthode Curseur

Les curseurs incluent les curseurs d'affichage et les curseurs rapides.

Curseur rapide

begin
for cur in (table|subquery) loop
    update_statement
end loop; 
end;
Copier après la connexion

Curseur d'affichage

SET SERVEROUTPUT ON  
DECLARE  
  CURSOR emp_cursor IS   
  SELECT empno,ename FROM emp;  
BEGIN  
FOR Emp_record IN emp_cursor LOOP     
     update_statement;  
END LOOP;  
END;
Copier après la connexion

L'utilisation de curseurs présente de nombreux avantages. La boucle for nous fournit une méthode pour mettre à jour les données par lots, ainsi que le champ physique rowid d'Oracle (Oracle utilise par défaut chaque table avec le champ rowid. et est un index unique), peut localiser rapidement l'enregistrement à mettre à jour et prendre en charge des instructions de requête complexes.

Tutoriel recommandé : "

Tutoriel vidéo Oracle

"

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal