Ce tutoriel SQL fournit des explications, des exemples pour l'instruction Update dans oracle
L'instruction de mise à jour dans Oracle est utilisée pour mettre à jour les lignes existantes dans la table. Il s'agit d'une instruction DML. DML est un langage de manipulation de données. Nous pouvons utiliser cette instruction pour mettre à jour des lignes spécifiques, un ensemble de lignes ou toutes les lignes du tableau.
La syntaxe est donnée ci-dessous
Tableau :C'est le nom de la table qui doit être mis à jour
colonne :c'est la colonne unique ou la colonne multiple du tableau qui doit être mise à jour
valeur :C'est la valeur de la colonne à mettre à jour. nous pouvons également utiliser une sous-requête pour obtenir cette valeur
Condition :C'est la condition where qui décide de ce que toutes les lignes seront mises à jour. Il peut être composé de noms de colonnes, de sous-requêtes d'expression et d'opérateurs de comparaison
Point important
1) L'instruction de mise à jour après l'achèvement indique le nombre de lignes mises à jour, sauf si vous avez émis des commentaires désactivés
2) Si aucune ligne n'est mise à jour, elle affichera 0 lignes mises à jour
3) Les modifications apportées sont visible dans votre session et il n'est pas visible pour une autre session dans la base de données oracle
4) Vous devez exécuter "commit ;" déclaration pour rendre les modifications permanentes dans la base de données ou "rollback ;" pour annuler les modifications effectuées
5) il est bon d'exécuter d'abord la même condition where avec select pour connaître le nombre de lignes et de lignes qui vont être mises à jour avant d'émettre l'instruction de mise à jour
6) Si vous ciblent des lignes uniques, utilisez la clé primaire dans oracle si possible
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.
Mettre à jour l'instruction à l'aide d'une sous-requête
Nous pouvons également utiliser une sous-requête dans l'instruction de mise à jour.
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.
Déclaration de mise à jour sans clause where
Vous pouvez mettre à jour toutes les lignes de la table en ne spécifiant aucune clause where dans l'instruction de mise à jour
Update FND_USER set end_date='1-JUN-2018' ;
L'instruction ci-dessus mettrait à jour toutes les lignes de la table FND_USER
Déclaration de mise à jour avec plusieurs colonnes
Vous pouvez spécifier plusieurs colonnes dans la même instruction de mise à jour
Update FND_USER set end_date='1-JUN-2018' , password='' ;
L'instruction ci-dessus mettrait à jour toutes les lignes de la table FND_USER avec la date de fin spécifiée et null tous les mots de passe
Articles connexes
Instruction INSERT dans Oracle
Instruction Supprimer de la table dans Oracle
exemple oracle create table
Alter Table dans Oracle
alter table add column oracle
Documentation Oracle sur la mise à jour