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
aktualisierenAnweisung 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