Sql

Signaler
Messages postés
2
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
2 octobre 2003
-
Messages postés
2
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
2 octobre 2003
-
J'ai un souci en SQL

Je voudrais lancer une procédure en automatique pour alimenter une table
'JourschomesTMP' avec des jours non travaillés (champ idJC format
datetime).
Un jour est considéré comme non travaillé si il n'existe pas dans la table
nommé RealisationLigne1 (champ[date] format datetime)

Mes differentes phases :
----------------------

Point 1 : je recherche le dernier jour chomes de la table (à l'aide d'un
curseur)

Point 2 :
je vais rechercher dans la table 'realisationligne1' les dates unique et >
au dernier jour chomé dans la table 'JourschomesTMP' (à l'aide d'un
curseur)

Point 3
Boucle pour comparaison des jours, si celui ci n'existe pas je vais mettre
à jour la table 'Jourschomestpm'

Voici ma requête SQL
--------------------
declare @sql varchar(1000), @derDate datetime, @rlDate datetime , @cDate
datetime
declare jc_curseur cursor for
select idJC from JourschomesTPM order by idJC desc

declare rl_curseur cursor for
select distinct([date]) from RealisationLigne1 where [date]>@derdate
and poste='M'

open jc_curseur
fetch next from jc_curseur into @derDate
close jc_curseur
deallocate jc_curseur

open rl_curseur
fetch next from rl_curseur into @rlDate
set @cDate=dateadd(day,-1,@rlDate)
while @@FETCH_STATUS=0
begin
set @cDate=dateadd(day,1,@cDate)
-- ajout date
if @cDate <> @rlDate
begin
--tant que meme date
while @cDate <>@rlDate
begin
--ajout
set @cDate=dateadd(day,1,@cDate)
--set @sql = 'insert into JourschomesTPM(idJc) values ('+
@cDate +')'
--exec(@sql)
print 'ajout'
print @cDate
end
end
fetch next from rl_curseur into @rlDate
end
close rl_curseur
deallocate rl_curseur

J'ai plusieurs soucis
---------------------
Concernant le point 1 :
je n'arrive pas à récupérer le contenu de la variable @derdate
j'arrive à effectuer le 2ème curseur si je renseigne '01/09/2003' à la

place de la variable @derdate

concernant le point 2 :
l'execution de la requete d'insertion (lignes en commentaire) ne
s'effectue pas

s'agit t-il d'un problème de conversion de date ?
pouvez vous m'aider sur ce sujet

un grand merci par avance

2 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Tu ne fournis jamais de valeur a ta variable @derDate
Elle est seulement déclarée au départ de la Proc Stock.

Romelard Fabrice (Alias F___)
Messages postés
2
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
2 octobre 2003

la valeur de @derdate est le resultat du curseur jc_curseur

Si je fais un print de la variable, il me répond
sept 9 2003 12:00AM