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
|
CREATE PROCEDURE proc_majCpt
AS
DECLARE @CPT_COMPTEUR2 bigint;
DECLARE @CPT_ENTITE2 int;
DECLARE @CPT_TECHNICIEN2 int;
DECLARE @NOM nvarchar(50);
DECLARE @AFFECTATION nvarchar(32);
DECLARE @TYPE nvarchar(8);
DECLARE @TEMPS_TOTAL int;
DECLARE @TEMPS_UTILISE int;
DECLARE @TEMPS_RESTANT int;
DECLARE @VALIDE char(1);
DECLARE myCursor CURSOR LOCAL
FOR
SELECT CPT_COMPTEUR,CPT_ENTITE,CPT_TECHNICIEN,NOM,AFFECTATION,TYPE,TEMPS_TOTAL,TEMPS_UTILISE,TEMPS_RESTANT,VALIDE FROM viewCompteursModifies;
OPEN myCursor;
FETCH NEXT FROM myCursor
INTO @CPT_COMPTEUR2,@CPT_ENTITE2,@CPT_TECHNICIEN2,@NOM,@AFFECTATION,@TYPE,@TEMPS_TOTAL,@TEMPS_UTILISE,@TEMPS_RESTANT,@VALIDE;
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE [192.XXX.XXX.XXX\MonServeur].[MaBase].[dbo].[COMPTEURS]
SET NOM=@NOM,
AFFECTATION=@AFFECTATION,
TYPE=@TYPE,
TEMPS_TOTAL=@TEMPS_TOTAL,
TEMPS_UTILISE=@TEMPS_UTILISE,
TEMPS_RESTANT=@TEMPS_RESTANT,
VALIDE=@VALIDE
WHERE ((CPT_COMPTEUR=@CPT_COMPTEUR2) AND (CPT_TECHNICIEN=@CPT_TECHNICIEN2) and (CPT_ENTITE=@CPT_ENTITE2));
FETCH NEXT FROM myCursor
INTO @CPT_COMPTEUR2,@CPT_ENTITE2,@CPT_TECHNICIEN2,@NOM,@AFFECTATION,@TYPE,@TEMPS_TOTAL,@TEMPS_UTILISE,@TEMPS_RESTANT,@VALIDE;
END
CLOSE myCursor;
DEALLOCATE myCursor;
GO |
Partager