cas simple, mettre à jour une ligne:
SQL> select name
2 , age
3 from t23
4 where id = 2
5/
NAME AGE
------------ ----------
MR KNOX 47
SQL> update t23
2 set age = age + 6
3 where id = 2
4/
1 row updated.
SQL> select name
2 , age
3 from t23
4 where id = 2
5/
NAME AGE
------------ ----------
MR KNOX 53
SQL>
mise à jour d'une ligne lorsque la colonne a une valeur nulle:
SQL> select name
2 , age
3 from t23
4 where id = 6
5/
NAME AGE
------------ ----------
SALLY
SQL> update t23
2 set age=age+5
3 where id = 6
4/
1 row updated.
SQL> select name
2 , age
3 from t23
4 where id = 6
5/
NAME AGE
------------ ----------
SALLY
SQL> update t23
2 set age = nvl(age,0) +5
3 where id = 6
4/
1 row updated.
SQL> select name
2 , age
3 from t23
4 where id = 6
5/
NAME AGE
------------ ----------
SALLY 5
SQL>
tout aussi simple lors de la mise à jour de plusieurs lignes:
SQL> select name
2 , age
3 from t23
4 where age > 20
5/
NAME AGE
------------ ----------
MR KNOX 53
FOX IN SOCKS 37
CAT 23
LORAX 443
SQL> update t23
2 set age = age + 1
3 where age > 20
4/
4 rows updated.
SQL> select name
2 , age
3 from t23
4 where age > 20
5/
NAME AGE
------------ ----------
MR KNOX 54
FOX IN SOCKS 38
CAT 24
LORAX 444
SQL>
qui devrait faire l'affaire. – krock
Vous ne pouvez pas voir pourquoi ce que vous avez ne devrait pas fonctionner - peut-être qu'il y a quelque chose dans la clause WHERE que nous devons voir? – Ragster
Cela devrait certainement fonctionner ... impair – xil3