Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie aktualisiere ich eine Tabelle in Oracle?

Dieses SQL-Tutorial enthält Erklärungen und Beispiele für die Update-Anweisung in Oracle

Die Update-Anweisung in Oracle wird verwendet, um die vorhandenen Zeilen in der Tabelle zu aktualisieren. Es ist eine DML-Anweisung. DML steht für Datenmanipulationssprache. Wir können diese Anweisung verwenden, um bestimmte Zeilen, eine Reihe von Zeilen oder alle Zeilen in der Tabelle zu aktualisieren.

Die Syntax ist unten angegeben

Tabelle :Es ist der Tabellenname, der aktualisiert werden muss
Spalte :es ist die einzelne oder mehrere Spalte in der Tabelle, die aktualisiert werden muss
Wert :Es ist der Wert der zu aktualisierenden Spalte. wir können auch eine Unterabfrage verwenden, um diesen Wert abzurufen
Bedingung :Es ist die Where-Bedingung, die entscheidet, welche Zeilen aktualisiert werden. Es kann aus Spaltennamen, Ausdrucksunterabfragen und Vergleichsoperatoren bestehen

Wichtiger Punkt
1) Update-Anweisung nach Abschluss zeigt an, wie viele Zeilen aktualisiert wurden, es sei denn, Sie haben das Set-Feedback deaktiviert
2) Wenn keine Zeilen aktualisiert wurden, werden 0 Zeilen aktualisiert angezeigt
3) Die vorgenommenen Änderungen sind in Ihrer Sitzung sichtbar und für andere Sitzungen in der Oracle-Datenbank nicht sichtbar
4) Sie müssen „commit“ ausführen; Anweisung, um die Änderungen in der Datenbank dauerhaft zu machen, oder „Rollback“; Um die vorgenommenen Änderungen rückgängig zu machen
5) ist es gut, zuerst dieselbe Where-Bedingung mit select auszuführen, um die Anzahl der Zeilen und Zeilen herauszufinden, die aktualisiert werden sollen, bevor die Update-Anweisung ausgegeben wird
6) Wenn Sie auf einzelne Zeilen abzielen, verwenden Sie wenn möglich den Primärschlüssel in Oracle

SQL> select * from emp where EMPNO=7844;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30

SQL> update emp set SAL=15000 where EMPNO=7844;

1 row updated.

SQL> select * from emp where EMPNO=7844;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 15000 0
30

SQL> commit;

Commit complete.

Anweisung mit Unterabfrage aktualisieren

Wir können die Unterabfrage auch innerhalb der Update-Anweisung verwenden.

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20

7934 MILLER CLERK 7782 23-JAN-82 1300
10

2 rows selected.

SQL> update emp set sal=(select sal from emp where empno=7934) where EMPNO=7902;

1 row updated.

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 1300
20

7934 MILLER CLERK 7782 23-JAN-82 1300
10

2 rows selected.

SQL> commit;

Commit complete.

Update-Anweisung ohne wo-Klausel

Sie können alle Zeilen in der Tabelle aktualisieren, indem Sie keine where-Klausel in der Update-Anweisung angeben

Update FND_USER set end_date='1-JUN-2018'  ;

Die obige Anweisung würde alle Zeilen in der Tabelle FND_USER

aktualisieren

Anweisung mit mehreren Spalten aktualisieren

Sie können mehrere Spalten in derselben Update-Anweisung angeben

Update FND_USER set end_date='1-JUN-2018' , password='' ;

Die obige Anweisung würde alle Zeilen in der Tabelle FND_USER mit dem angegebenen Enddatum aktualisieren und alle Passwörter auf Null setzen

Verwandte Artikel

INSERT-Anweisung in Oracle
Aus Tabelle löschen Anweisung in Oracle
Beispiel für Oracle-Tabelle erstellen
Tabelle ändern in Oracle
Tabelle ändern Spalte hinzufügen Oracle
Oracle-Dokumentation zum Aktualisieren