Heim > Datenbank > Oracle > So ändern Sie Datensätze in Oracle

So ändern Sie Datensätze in Oracle

PHPz
Freigeben: 2023-04-04 09:41:09
Original
1653 Leute haben es durchsucht

Oracle-Datenbank ist ein relationales Datenbankverwaltungssystem, das häufig in Unternehmensanwendungen eingesetzt wird. Es ist eine der beliebtesten Datenbanken auf dem heutigen Markt. Im täglichen Geschäftsbetrieb ist es häufig erforderlich, Datenbankdatensätze zu ändern. Daher ist es sehr wichtig, den Änderungsprozess von Oracle-Datenbankdatensätzen zu verstehen. In diesem Artikel werden die relevanten Kenntnisse über Oracle-Änderungsdatensätze vorgestellt.

Zuerst müssen wir die Grundstruktur der Oracle-Datenbank verstehen. Die Oracle-Datenbank enthält mehrere Tabellen (Tabelle), jede Tabelle enthält mehrere Spalten (Spalte) und jede Spalte enthält mehrere Zeilen (Zeile). Bei der Verarbeitung von Geschäftsdaten müssen wir die Zeilen in der Tabelle ändern. Beachten Sie jedoch, dass jede Zeile in der Tabelle eine eindeutige Kennung hat. Diese Kennung wird als Zeilen-ID (Zeilen-ID) bezeichnet und besteht aus Automatisch generiert von das Oracle-Datenbanksystem.

Wie ändern wir also die Datensätze in der Tabelle? Die Oracle-Datenbank bietet mehrere Möglichkeiten zum Ändern von Datensätzen. Zwei davon werden hier ausführlich vorgestellt.

  1. Verwenden Sie den UPDATE-Befehl

Der UPDATE-Befehl ist eine der am häufigsten verwendeten Methoden zum Ändern von Datensätzen in der Oracle-Datenbank. Er kann einzelne oder mehrere Spalten einer bestimmten Zeile in der Tabelle ändern. Die grundlegende Syntax lautet wie folgt:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Nach dem Login kopieren

Unter diesen stellt Tabellenname den Namen der zu ändernden Tabelle dar, Spalte1, Spalte2 usw. stellen die Namen der zu ändernden Spalten dar, Wert1, Wert2 usw. stellen die Werte dar ​der zu ändernden Spalten und Bedingung stellt die Änderungsbedingung dar. Der Beispielcode lautet wie folgt:

UPDATE employees
SET salary = 5000, department = 'sales'
WHERE employee_id = 1001;
Nach dem Login kopieren

Der obige Code gibt an, dass der Wert der Gehaltsspalte der Zeile mit der Mitarbeiter-ID 1001 in der Mitarbeitertabelle auf 5000 und der Wert der Abteilungsspalte in „Verkäufe“ geändert wird.

Wenn Sie den UPDATE-Befehl zum Ändern von Datensätzen verwenden, müssen Sie die folgenden Punkte beachten:

  • Sie müssen die Tabelle sperren, bevor Sie Datensätze ändern, um Dateninkonsistenzen zu vermeiden, die durch gleichzeitige Änderungsvorgänge durch mehrere Benutzer verursacht werden.
  • Beim Ändern von Datensätzen müssen Sie besonders auf die Bedingungen in der WHERE-Klausel achten. Wenn die Bedingungen falsch sind, führt dies zu Änderungsfehlern oder ändert sogar die Datensätze der gesamten Tabelle.
  • Beim Ändern von Datensätzen müssen Sie auf die Atomizität der Transaktion achten, und Sie müssen besonders auf die Situation verteilter Transaktionen achten.
  1. Verwenden Sie den MERGE-Befehl

Der MERGE-Befehl ist eine der neuesten Möglichkeiten, Datensätze in Oracle-Datenbanken zu ändern. Er kann zwei Tabellen zusammenführen oder Datensätze hinzufügen. Die grundlegende Syntax lautet wie folgt:

MERGE INTO table_name1
USING table_name2
ON (condition)
WHEN MATCHED THEN
    UPDATE SET column1 = value1, column2 = value2, ...
WHEN NOT MATCHED THEN 
    INSERT (column1, column2, ...) VALUES (value1, value2, ...);
Nach dem Login kopieren

Unter diesen stellt Tabellenname1 die Zieltabelle dar, die zusammengeführt oder hinzugefügt werden soll, Tabellenname2 stellt die Quelltabelle dar, die zusammengeführt oder hinzugefügt werden soll, und Bedingung stellt die Bedingung für das Zusammenführen oder Hinzufügen dar. Wenn die Datensätze in der Quelltabelle und der Zieltabelle übereinstimmen, verwenden Sie die UPDATE-Klausel, um die Datensätze in der Zieltabelle zu aktualisieren. Wenn die Datensätze in der Quelltabelle und der Zieltabelle nicht übereinstimmen, verwenden Sie die INSERT-Klausel, um neue Datensätze hinzuzufügen die Zieltabelle.

Der Beispielcode lautet wie folgt:

MERGE INTO orders o
USING temp_orders t
ON (o.order_id = t.order_id)
WHEN MATCHED THEN
    UPDATE SET o.order_status = t.order_status, o.order_amount = t.order_amount
WHEN NOT MATCHED THEN
    INSERT (order_id, order_status, order_amount) VALUES (t.order_id, t.order_status, t.order_amount);
Nach dem Login kopieren

Der obige Code bedeutet, dass die Datensätze in der Tabelle „temp_orders“ in der Tabelle „orders“ zusammengeführt werden. Wenn die order_id gleich ist, werden die Spalten „order_status“ und „order_amount“ in der Tabelle „Orders“ aktualisiert. Wenn die „order_id“ unterschiedlich ist, werden die Werte der Spalten „order_id“, „order_status“ und „order_amount“ in der Tabelle „temp_orders“ in die Tabelle „Orders“ eingefügt.

Ähnlich wie beim UPDATE-Befehl müssen Sie bei der Verwendung des MERGE-Befehls zum Ändern von Datensätzen auch besonders auf die Atomizität der Transaktion achten. Besonderes Augenmerk muss auf die Situation verteilter Transaktionen gelegt werden.

Zusammenfassung:

In diesem Artikel wird erläutert, wie Sie mit den Befehlen UPDATE und MERGE Datensätze in der Oracle-Datenbank ändern. Es ist zu beachten, dass die Tabelle vor der Durchführung von Änderungsvorgängen gesperrt werden muss, um zu verhindern, dass mehrere Benutzer gleichzeitig denselben Datensatz ändern. Gleichzeitig muss auf die Atomizität der Transaktion geachtet werden. Zusätzlich zu den beiden in diesem Artikel vorgestellten Methoden bietet die Oracle-Datenbank auch andere Möglichkeiten zum Ändern von Datensätzen, z. B. die Verwendung gespeicherter PL/SQL-Prozeduren usw. Leser können je nach spezifischen Anforderungen auswählen.

Das obige ist der detaillierte Inhalt vonSo ändern Sie Datensätze in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage