Salut ,
Je souhaite transformer l'UPDATE suivant en MERGE tout en faisant 1 seul SELECT d'un coup avec jointure des 4 tables et appliquer SELECT...CASE WHEN au lieu de CASE WHEN ...SELECT ...
cd_par est une donnée obligatoire dans chaque table.
Merci de votre aide.
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 UPDATE PRODUITS P SET P.status = 'A' ,P.cd_type = (CASE WHEN (SELECT 1 FROM PARAM PRM WHERE PRM.cd_par = 2012 AND PRM.cd_par = P.cd_par AND PRM.id_auto = P.id_auto) = 1 THEN 'P1' ELSE (SELECT MIN(D.cd_FLO) KEEP(DENSE_RANK FIRST ORDER BY D.no_ordre) FROM DIR D,COM C WHERE P.cd_par = 2012 AND D.cd_par = 2012 AND C.cd_par = 2012 AND D.cd_par = C.cd_par AND P.id_COM = C.id_COM ) END) WHERE P.cd_par = 2012 and P.cd_typ = 'OK' ;
Partager