cs_Perse
Messages postés
5
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
18 août 2005
28 juil. 2005 à 18:34
Salut Zlub et merci pour cette réponse.
En fait c'est du sql server et je cherchais quelque chose de proche du "ON DUPLICATE KEY UPDATE" de MySQL.
J'ai fini par me rabattre sur cette procédure stockée qui fonctionne bien :
CREATE PROCEDURE X_Ajout_Instit
@num_instituteur varchar(13),
@civilite_instituteur varchar(5),
@nom_instituteur text,
@nom_jeunefille_instituteur text,
@prenom_instituteur text,
@insee_instituteur varchar (25),
@cle_INSEE_instituteur int,
@adresse_instituteur text,
@hameau_instituteur text,
@code_postal_instituteur varchar (5),
@ville_instituteur text,
@tel_fixe_instituteur varchar (14),
@tel_portable_instituteur varchar (14),
@courriel_instituteur text,
@grade_instituteur varchar (2),
@zil_brigade_instituteur varchar (3),
@num_etablissement_instituteur varchar (13)
AS
IF NOT EXISTS (SELECT Num_Instituteur FROM instituteur WHERE Num_Instituteur = @num_instituteur)
INSERT INTO instituteur VALUES (@num_instituteur,
@civilite_instituteur,
@nom_instituteur,
@nom_jeunefille_instituteur,
@prenom_instituteur,
@insee_instituteur,
@cle_INSEE_instituteur,
@adresse_instituteur,
@hameau_instituteur,
@code_postal_instituteur,
@ville_instituteur,
@tel_fixe_instituteur,
@tel_portable_instituteur,
@courriel_instituteur,
@grade_instituteur,
@zil_brigade_instituteur,
@num_etablissement_instituteur)
ELSE
UPDATE instituteur
SET
civilite_instituteur = @civilite_instituteur,
nom_instituteur = @nom_instituteur,
nom_jeunefille_instituteur = @nom_jeunefille_instituteur,
prenom_instituteur = @prenom_instituteur,
insee_instituteur = @insee_instituteur,
cle_INSEE_instituteur = @cle_INSEE_instituteur,
adresse_instituteur = @adresse_instituteur,
hameau_instituteur = @hameau_instituteur,
code_postal_instituteur = @code_postal_instituteur,
ville_instituteur = @ville_instituteur,
tel_fixe_instituteur = @tel_fixe_instituteur,
tel_portable_instituteur = @tel_portable_instituteur,
courriel_instituteur = @courriel_instituteur,
grade_instituteur = @grade_instituteur,
zil_brigade_instituteur = @zil_brigade_instituteur,
num_etablissement_instituteur = @num_etablissement_instituteur
WHERE Num_Instituteur = @num_instituteur
GO
Avec en bleu les champs de ma table et en rose les variables que j'implémente depuis du dotnet.
Peut être qu'il y a mieux mais au moins sa fonctionne.