Bonjour à tous !

Voici mon problème : Je souhaite mettre à jour une table A en fonction d'une table B uniquement si les données contenu dans A diffères de celle de B.
J'ai lu qu'il n'était pas conseillé de mettre à jour une table à l'aide d'une procédure stockée mais étant néophyte en l matière je n'ai pas trouvé d'autre solution...
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
ALTER PROCEDURE [dbo].[PS_RESTORE_PARAM_PROD] 
	-- Add the parameters for the stored procedure here
	@IdBase bigint 
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	DECLARE @Paragraphe varchar(50), @Variable varchar(50), @Valeur varchar(254), @Memo varchar(MAX), @Row uniqueidentifier, @IdBase_Connexion bigint
 
	DECLARE curseur_save CURSOR FOR
	SELECT Paragraphe, Variable,Valeur, Memo, Rowguid, Id_Base from dbo.Connexion_Serveur where Id_Base = @IdBase
 
	OPEN curseur_save
 
	FETCH curseur_save into @Paragraphe,@Variable, @Valeur, @Memo, @Row, @IdBase_Connexion
 
	WHILE @@FETCH_STATUS = 0
	BEGIN
 
		DECLARE @ParagraphePROD varchar(50), @VariablePROD varchar(50), @ValeurPROD varchar(254), @MemoPROD varchar(MAX), @RowPROD uniqueidentifier
		DECLARE curseur_PROD CURSOR FOR
		SELECT Paragraphe, Variable,Valeur, Memo, Rowguid from [ATH].[dbo].[CONNEXION_SERVEUR]
 
		OPEN curseur_PROD
 
		FETCH curseur_PROD into @ParagraphePROD,@VariablePROD, @ValeurPROD, @MemoPROD, @RowPROD
 
		WHILE @@FETCH_STATUS = 0
		BEGIN
 
			IF @Row = @RowPROD 
			BEGIN
				IF @Paragraphe != @ParagraphePROD
				SET @ParagraphePROD = @Paragraphe
 
				CLOSE curseur_PROD
				DEALLOCATE curseur_PROD
			END
 
		END
 
	END
 
END
CLOSE curseur_save
DEALLOCATE curseur_save
Je m'excuse d'ors et déjà auprès de ceux qui vont lire mon code car ça risque de leur faire mal aux yeux
Et si vous souhaitez plus de précision n'hésitez pas à me faire signe

Cordialement,