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 93
|
CREATE PROCEDURE proc AS
BEGIN
DECLARE @res varchar(255)
, @resultat varchar(255)
, @id varchar(50)
-- Table1 ==> OK pour cette table
DECLARE curs CURSOR FOR SELECT id, nom FROM table1
OPEN curs
FETCH curs INTO @id, @res
WHILE @@SQLSTATUS = 0
BEGIN
EXEC gen_champ @res, @resultat OUTPUT
UPDATE table1 SET champ = @resultat WHERE id = @id
FETCH curs INTO @id, @res
END
CLOSE curs
DEALLOCATE CURSOR curs
-- ... d'autres tables...
-- Table5 ==> NON OK
DECLARE curs CURSOR FOR SELECT id, nom FROM table5
OPEN curs
FETCH curs INTO @id, @res
WHILE @@SQLSTATUS = 0
BEGIN
EXEC gen_champ @res, @resultat OUTPUT
UPDATE table5 SET champ = @resultat WHERE id = @id
FETCH curs INTO @id, @res
END
CLOSE curs
DEALLOCATE CURSOR curs
-- Table6 ==> OK pour cette table
DECLARE curs CURSOR FOR SELECT id, nom FROM table6
OPEN curs
FETCH curs INTO @id, @res
WHILE @@SQLSTATUS = 0
BEGIN
EXEC gen_champ @res, @resultat OUTPUT
UPDATE table6 SET champ = @resultat WHERE id = @id
FETCH curs INTO @id, @res
END
CLOSE curs
DEALLOCATE CURSOR curs
-- Table7 ==> NON OK
DECLARE curs CURSOR FOR SELECT nom FROM table7
OPEN curs
FETCH curs INTO @res
WHILE @@SQLSTATUS = 0
BEGIN
EXEC gen_champ @res, @resultat OUTPUT
UPDATE table7 SET champ = @resultat WHERE nom = @res
FETCH curs INTO @res
END
CLOSE curs
DEALLOCATE CURSOR curs
-- Table8 ==> OK pour cette table
DECLARE curs CURSOR FOR SELECT id, nom FROM table8
OPEN curs
FETCH curs INTO @id, @res
WHILE @@SQLSTATUS = 0
BEGIN
EXEC gen_champ @res, @resultat OUTPUT
UPDATE table8 SET champ = @resultat WHERE id = @id
FETCH curs INTO @id, @res
END
CLOSE curs
DEALLOCATE CURSOR curs
-- ... d'autres tables...
RETURN 0
END |
Partager