Bonjour à tous,
est-il possible d'utiliser une clause with dans une requête de mise à jour :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 WITH MY_VIEW AS ( SELECT * FROM PERSONNES ), MY_VIEW2 AS ( SELECT MY_KEY, COUNT(*) AS NB_PERSONNES FROM MY_VIEW GROUP BY MY_KEY ) UPDATE DUAL d SET d.MY_FIELD = mv.NB_PERSONNES FROM MY_VIEW2 mv WHERE d.MY_KEY = mv.MY_KEY
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 UPDATE DUAL d SET d.MY_FIELD = ( WITH MY_VIEW AS ( SELECT * FROM PERSONNES ), MY_VIEW2 AS ( SELECT MY_KEY, COUNT(*) AS NB_PERSONNES FROM MY_VIEW GROUP BY MY_KEY ) SELECT NB_PERSONNES FROM MY_VIEW2 mv WHERE mv.MY_KEY = d.MY_KEY )
Partager