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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
delete from workinghours;
declare @nomdesignation varchar(50);
declare @valeur float;
declare @id_tab int;
declare @finparcour int;
declare @finparcourenr int;
declare @i int;
declare @j int;
SELECT @finparcour= (SELECT MAX(id_correspondance) FROM correspondance)
SELECT @finparcourenr= (SELECT MAX(id_enr) FROM enregistrement)
declare @unite int;
declare @moisval int;
declare @anneeval int;
declare @nom_tab nvarchar(50);
declare @table as nvarchar(50)
declare @SQL nvarchar(4000)
declare @SQL2 nvarchar(4000)
declare @SQL3 nvarchar(4000)
declare @SQL4 nvarchar(4000)
declare @SQL5 nvarchar(4000)
declare @SQL6 nvarchar(4000)
declare @SQL7 nvarchar(4000)
declare @SQL8 nvarchar(4000)
declare @SQL9 nvarchar(4000)
declare @SQL10 nvarchar(4000)
declare @SQL11 nvarchar(4000)
declare @SQL12 nvarchar(4000)
declare @SQL13 nvarchar(4000)
declare @pTableName nvarchar(4000);
declare @champ nvarchar(4000);
DECLARE @Para NVARCHAR(500)
SET @Para = N' @RESU nvarchar(4000) OUTPUT'
declare @presu nvarchar(4000);
SET @presu = ''
select @i = 1;
SELECT @j= (SELECT min(id_enr) FROM enregistrement)
WHILE (@i <=@finparcour)
BEGIN
SELECT @nomdesignation=(SELECT designation FROM correspondance WHERE id_correspondance=@i)
SELECT @id_tab=(SELECT id_tableau FROM correspondance WHERE id_correspondance=@i)
SET @nom_tab=(SELECT nomtableau FROM tableau WHERE id_tableau=@id_tab)
SELECT @unite=(SELECT id_unite FROM correspondance WHERE id_correspondance=@i)
declare @k nvarchar(50);
SET @pTableName=@nom_tab;
select @k=convert(int,@i);
WHILE @j<=@finparcourenr
BEGIN
declare @anneeval1 nvarchar(50)
declare @moisval1 nvarchar(50)
declare @valeur1 nvarchar (50)
declare @l nvarchar(50)
select @l=convert(int,@j)
SET @pRESU = ''
SET @SQL = N'SELECT '+ @nomdesignation + ' FROM enregistrement WHERE id_enr=' + @l +''
exec sp_executesql @SQL, @PARA,
@RESU = @pRESU OUTPUT
select @valeur=@pRESU
select @valeur1=convert(nvarchar,@valeur)
SELECT @moisval= (
SELECT mois
FROM enregistrement
WHERE (id_enr = @j))
SELECT @anneeval=(SELECT annee FROM enregistrement WHERE (id_enr=@j) )
select @moisval1=convert(nvarchar,@moisval)
select @anneeval1=convert(nvarchar,@anneeval)
If @anneeval IS NOT NULL
BEGIN
IF ( @id_tab = 1)
BEGIN
SET @pRESU = ''
SET @SQL9 = N'SELECT id_ent FROM '+ @pTableName + ' WHERE id_ent= ' + @k + ' AND mois= ' + @moisval1 + ' AND annee= ' + @anneeval1 +''
exec sp_executesql @SQL9, @PARA,
@RESU = @pRESU OUTPUT
select @k=convert(int,@i);
SET @SQL10='INSERT INTO workinghours ( id_ent , montant , annee , mois ) VALUES ('+@k+', 3 , '+@l+' , 9 )'
exec sp_executesql @SQL10
END
END
SET @j = @j + 1;
END;
SET @i = @i + 1;
END; |
Partager