Sql server - une proc stock faisant soit un update soit un insert

Contenu du snippet

Il est souvent très pratique de n'avoir qu'une seule procédure qui gère soit l'update des informations si elle existe déja, soit l'Insert des informations.
C'est donc une évolution de la Procédure stockée montrée ici :
- http://www.sqlfr.com/code.aspx?ID=26572

Source / Exemple :


CREATE   PROCEDURE dbo.AddOrUpdateUser
(
	@Login as nvarchar(15),
	@Nom as nvarchar(25),
	@Prenom as nvarchar(25),
	@Email as nvarchar(50),
	@Telephone as nvarchar(10)
)
AS

IF exists(SELECT USER_ID FROM dbo.TABLE_USERS WHERE (dbo.TABLE_USERS.USER_LOGIN = @Login))
-- Dans cette partie, le Compte existe déja, on a donc juste besoin de rafraichir les Informations
	BEGIN
		UPDATE 
			dbo.TABLE_USERS
		SET 	
			dbo.TABLE_USERS.USER_NOM = @Nom,
			dbo.TABLE_USERS.USER_PRENOM = @Prenom,
			dbo.TABLE_USERS.USER_EMAIL = @Email,
			dbo.TABLE_USERS.USER_TEL = @Telephone
		WHERE 
			dbo.TABLE_USERS.USER_LOGIN = @Login
	END
ELSE
-- Dans cette partie, le compte n'existe pas, on va donc le créer
	BEGIN
		INSERT INTO dbo.TABLE_USERS
			(USER_LOGIN, 
			USER_NOM, 
			USER_PRENOM, 
			USER_EMAIL, 
			USER_TEL)
		VALUES 
			(@Login, 
			@Nom, 
			@Prenom, 
			@Email, 
			@Telephone)
	END

Conclusion :


Bon Coding

Romelard Fabrice (Alias F___)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.