Oracle
 sql >> Database >  >> RDS >> Oracle

Come aggiornare la tabella in Oracle

Questo tutorial SQL fornisce spiegazioni ed esempi per l'istruzione Update in Oracle

L'istruzione di aggiornamento in Oracle viene utilizzata per aggiornare le righe esistenti nella tabella. È un'istruzione DML. Linguaggio di manipolazione dei dati dello stand DML. Possiamo usare questa istruzione per aggiornare righe specifiche, set di righe o tutte le righe nella tabella.

La sintassi è riportata di seguito

Tabella :È il nome della tabella che deve essere aggiornato
colonna :è la singola colonna o più colonne della tabella che deve essere aggiornata
valore :È il valore della colonna da aggiornare. possiamo usare subquery anche per ottenere quel valore
Condizione :è la condizione where che decide quali verranno aggiornate tutte le righe. Può essere composto da nomi di colonne, sottoquery di espressioni e operatori di confronto

Punto importante
1) L'istruzione di aggiornamento dopo il completamento mostrerà quante righe sono state aggiornate a meno che tu non abbia emesso un feedback impostato off
2) Se nessuna riga è stata aggiornata, verranno visualizzate 0 righe aggiornate
3) Le modifiche apportate sono visibile nella tua sessione e non è visibile per altre sessioni nel database di Oracle
4) Devi eseguire "commit;" istruzione per rendere permanenti le modifiche nel database o "rollback"; per eseguire il rollback delle modifiche apportate
5) è bene eseguire prima la stessa condizione where con select per scoprire il numero di righe e righe che verranno aggiornate prima di emettere la dichiarazione di aggiornamento
6) Se mirano a singole righe, se possibile usa la chiave primaria 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.

Aggiorna l'istruzione utilizzando la sottoquery

Possiamo anche usare subquery all'interno dell'istruzione di aggiornamento.

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.

Rendiconto di aggiornamento senza clausola out where

Puoi aggiornare tutte le righe della tabella non specificando alcuna clausola where nell'istruzione di aggiornamento

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

L'istruzione sopra aggiornerebbe tutte le righe nella tabella FND_USER

Aggiorna istruzione con più colonne

Puoi specificare più colonne nella stessa dichiarazione di aggiornamento

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

L'istruzione sopra aggiornerebbe tutte le righe nella tabella FND_USER con end_date specificata e null tutta la password

Articoli correlati

Istruzione INSERT in Oracle
Istruzione Elimina dalla tabella in Oracle
oracle create table example
Alter Table in Oracle
alter table add column oracle
Documentazione Oracle su Update