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.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
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]
Mise à jour standard
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
update join view
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
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 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);
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
Curseur rapide
begin for cur in (table|subquery) loop update_statement end loop; end;
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;
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 OracleCe 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!