Réponse acceptée !
J'ai donc bien réussi à faire ce que je voulais grâce à un curseur,
Merci beaucoup.
J'espère que l'idée plaira à mon tuteur de stage.
Pour ceux à qui ça peut poser problème voici un extrait de mon code pour l'utilisation du curseur :
CREATE TABLE #TMPCoefs (CodFamilleCOETMP nchar(3), CodMoisTMP nchar(2),
ValCOETMP decimal (8,2), LibCOETMP varchar(32))
DECLARE @i int
DECLARE @Mois nchar(3) -- Numero du mois du mois
DECLARE @Famille nchar(3) -- Numéro de la famille
-- Déclaration du curseur
DECLARE ListFam CURSOR FOR
SELECT CodFamille
FROM FAMILLE
-- Ouverture du curseur
OPEN ListFAM
-- On se place sur le premier enregistrement
FETCH ListFam INTO @Famille
-- Parcours des résultats de la requête
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @i = 1
WHILE (@i <= 12)
BEGIN
SET @Mois = @i
INSERT INTO #TMPCoefs (CodFamilleCOETMP, CodMoisTMP)
VALUES (@Famille, @Mois)
SET @i = @i + 1
END
-- On récupère l'enregistrement suivant
FETCH ListFam INTO @Famille
END
-- Fermeture du curseur
CLOSE ListFam
-- Libération de l'espace0
DEALLOCATE ListFam
Voila, je travailles avec des tables temporaire donc après il y à l'ajout de cette table (#TMPCoefs) dans une table réelle. Il y a un peu de bidouillage entre la variable i et la variable mois... pour des histoires de conversions de type ça m'a paru un peu plus simple.
Bonne journée, et merci de l'aide Nhervagault
