sql >> Databasteknik >  >> RDS >> Oracle

Hur man uppdaterar tabellen i oracle

Den här SQL-handledningen ger förklaringar, exempel för Update-satsen i Oracle

Uppdateringssats i oracle används för att uppdatera befintliga rader i tabellen. Det är ett DML-uttalande. DML-stativ datamanipuleringsspråk. Vi kan använda detta uttalande för att uppdatera specifika rader, raduppsättningar eller alla rader i tabellen.

Syntax anges nedan

Tabell :Det är tabellnamnet som behöver uppdateras
kolumnen :det är den enstaka kolumnen eller flera kolumner i tabellen som behöver uppdateras
värde :Det är värdet på kolumnen som ska uppdateras. vi kan använda subquery för att få det värdet också
Condition :Det är where-villkoret som avgör vad alla rader ska uppdateras. Den kan bestå av kolumnnamn, uttrycksunderfrågor och jämförelseoperatorer

Viktig punkt
1) Uppdatera uttalande efter slutförandet kommer att visa hur många rader som uppdaterats om du inte har skickat inställd feedback
2) Om inga rader uppdateras kommer det att visa 0 rader uppdaterade
3) Ändringarna är synlig i din session och den är inte synlig för andra sessioner i Oracle-databasen
4) Du måste köra "commit;" uttalande för att göra ändringarna permanenta i databasen eller "återställning"; för att återställa ändringarna som gjorts
5) är det bra att först köra samma där villkor med välj för att ta reda på antalet rader och rader som kommer att uppdateras innan du utfärdar uppdateringssatsen
6) Om du är inriktade på enstaka rader, använd primärnyckeln i Oracle om möjligt

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.

Uppdatera uttalandet med hjälp av underfrågan

Vi kan också använda subquery i uppdateringssatsen.

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.

Uppdatera uttalande utan where-klausul

Du kan uppdatera alla rader i tabellen genom att inte ange någon where-sats i update-satsen

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

Ovanstående uttalande skulle uppdatera alla rader i tabellen FND_USER

Uppdatera uttalande med flera kolumner

Du kan ange flera kolumner i samma uppdateringssats

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

Ovanstående uttalande skulle uppdatera alla rader i tabellen FND_USER med specificerat slutdatum och null alla lösenord

Relaterade artiklar

INSERT-sats i Oracle
Ta bort från tabellsats i Oracle
oracle skapa tabellexempel
Ändra tabell i Oracle
ändra tabell lägg till kolumn oracle
Oracle-dokumentation vid uppdatering


  1. COS() Exempel i SQL Server

  2. mysqli_fetch_array() förväntar sig att parameter 1 är mysqli_result, boolean ges i

  3. Fixa "ERROR 1054 (42S22):Okänd kolumn "..." i "ordersats" när du använder UNION i MySQL

  4. Varför är logiska läsningar för aggregerade fönsterfunktioner så höga?