Verwendung von Update in Oracle: 1. Wird zum Ändern der Daten in der Tabelle verwendet. Die Syntax lautet „UPDATE-Tabellenname, SET-Spaltenname = neuer Wert, WHERE-Spaltenname = bestimmter Wert“; 2. Wird zum Erstellen einer Tabelle durch Verknüpfen von zwei verwendet Tabellen anzeigen und aktualisieren.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.
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]
Standard-Update
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
Join-Ansicht aktualisieren
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
Genau wie das obige Prinzip Das Gleiche gilt: Was in den Klammern steht, ist eine Ansicht, und was in der Menge ist, ist das Feld, das aktualisiert werden muss. Diese Methode ist direkt und effizient, aber sie ist ziemlich restriktiv. Der Primärschlüssel der Mitarbeitertabelle muss angezeigt werden die Where-Bedingung, andernfalls wird ein Fehler gemeldet, ORA-01779: Spalten, die nicht durch Schlüsselwerte gespeicherten Tabellen entsprechen, können nicht geändert werden.
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);
Das Prinzip besteht darin, dass die in Alias2 ausgewählten Daten mit ON (Join-Bedingung) von Alias1 verglichen werden. Wenn sie übereinstimmen, werden sie aktualisiert. Wenn keine Übereinstimmung vorliegt, führen Sie den Einfügevorgang aus (Einfügen).
@H_301_73@Cursor-Methode
Schneller Cursor
begin for cur in (table|subquery) loop update_statement end loop; end;
Anzeigecursor
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;
Die Verwendung von Cursorn bietet viele Vorteile. Die for-Schleife bietet uns eine Methode zum Aktualisieren von Stapeldaten sowie das physische Rowid-Feld von Oracle (Oracle verfügt standardmäßig über das Rowid-Feld für jede Tabelle). und ist ein eindeutiger Index), der den zu aktualisierenden Datensatz schnell finden und auch komplexe Abfrageanweisungen unterstützen kann.
Empfohlenes Tutorial: „
Oracle Video TutorialDas obige ist der detaillierte Inhalt vonWas ist die Verwendung von Update in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!