Bonjour tout le monde,

J'ai une table qui contient des numero de clients, et les dates d'envoie de lettre qui correspont à chaque client... Tout fonctionnait tres bien, jusqu'au jour où je me trouve devant un cas où on peut envoyer des lettres à la meme personne plus d'une fois...
j'ai pensé d'abord ajouter des champs, date1, date2, date3... mais jusqu'où ? je ne sais pas combien de fois on va envoyer des lettre à la meme personne, donc l'idée etait de creer une table qui va contenir 2 champs: id_client et date, avec une clé primaire concatenée des 2 champs... donc chaque fois qu'on envoie une nouvelle fois, j'insert une ligne dans la nouvelle table avec le id_client + l'ancienne date qu'il y avait dans la table principale, puis je peut modifier la date dans la table principale...
resultat de la manipulation: dans ma table principale j'ai juste la date du dernier envoie, et si je veux voir l'historique des envoie je n'ai qu'à consulter la 2eme table...
voila c'etait la situation, j'utilise un package DTS qui s'occupe de cette mis à jour + insertion, sauf qu'il y a peut etre une erreur dans la logique ... quand j'ai executé ce code la derniere fois, il a été modifier le contenu de toute ma table, alors que ça doit toucher juste une selection definie, voici le code:
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
20
21
22
23
24
25
DECLARE @send_date smalldatetime,  @id_client nvarchar(12)

DECLARE lineCursor CURSOR local FOR 
SELECT     id_client, send_date                
FROM         tablePrincipale
WHERE     sending = 'j'  --ceci est la condition de selection

open linecursor

fetch next from linecursor into @id_client, @send_date

while @@fetch_status = 0 
    begin
        if @send_date is  not null -- s'il y a deja une date d'envoi
        begin
              insert into tableSecondaire values (@id_client, @send_date)
        end

        UPDATE    tablePrincipale SET  send_date = CAST(LEFT(GETDATE(), 12) AS smalldatetime) -- et dans tout les cas, je met à jour les dates avec la date d'aujourdui

        fetch next from linecursor into @kvnr, @send_date
    end

close linecursor

voila, j'espere que j'ai assez clair.
vos conseils et remarques seront tres appreciés!

Merci beaucoup