Bonjour

Je m'adresse a vous parce que je suis bloquer sur quelque chose qui doit etre tres simple.

Quotidiennement, je reçois des informations dans une table temporaire (T_Tempo). Je voudrais utiliser les valeurs de cette table pour mettre a jour
une seconde table de stockage (T_stock).

Pour cela, je dois ajouter les lignes de ma tables T_Tempo qui n'existe pas encore dans ma table T_Stock.
Si l'information existe deja je dois juste mettre a jour certaines colonnes.


J'ai donc utiliser l'idée suivante :

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 T_Stock 
SET S_Moyenne = TP.Moy
From  T_Tempo TP WITH (NOLOCK)
WHERE TP.Trans = 'O'  
+ Condition ...
 
 
IF @@ROWCOUNT=0
 
    INSERT INTO T_Stock 
    Select * 
    From  T_Tempo TP WITH (NOLOCK)
    WHERE TP.Trans = 'O'
+ condition ..

Le probleme c'est que celui ci fait bien les updates mais comme le nombre de résultat n'est pas nul, je ne fais jamais les inserts.

Je n'arrive pas a trouver une solution optimiser qui me permettrait de faire un update de toute mes lignes existant deja dans ma table de stockage et un insert des lignes non existante.

Une fois les update et inserte fais, je souhaiterais supprimer les lignes correctement traité de ma table temporaire

rien de compliquer a premiere vu mais apparament mon cerveau est indisponible en ce moment ^^

Merci a tous pour vos piste de solution