crn_c21
Messages postés302Date d'inscriptionsamedi 24 janvier 2004StatutMembreDernière intervention 4 février 2011 13 nov. 2009 à 18:07
Pour une exécution plus rapide remplacer :
IF exists(SELECT USER_ID FROM dbo.TABLE_USERS WHERE (dbo.TABLE_USERS.USER_LOGIN = @Login))
Par
IF exists(SELECT TOP 1 1 FROM dbo.TABLE_USERS WHERE (dbo.TABLE_USERS.USER_LOGIN = @Login))
c'est un détail, je le concède!
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 21 oct. 2005 à 15:52
Merci :)
cs_marcA
Messages postés12Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention 3 août 2010 29 juin 2005 à 15:41
Bonjour,
Personnellement, j'utilise ceci :
Je ne sais pas si c'est moins bon ou pas.
Le Set NOCOUNT ON permet de recevoir les messages d'erreurs faits dans l'insert s'il y en a (dans des cas de contraintes pas 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
SET NOCOUNT ON
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
If @@Rowcount = 0
INSERT INTO dbo.TABLE_USERS
(USER_LOGIN,
USER_NOM,
USER_PRENOM,
USER_EMAIL,
USER_TEL)
VALUES
(@Login,
@Nom,
@Prenom,
@Email,
@Telephone)
13 nov. 2009 à 18:07
IF exists(SELECT USER_ID FROM dbo.TABLE_USERS WHERE (dbo.TABLE_USERS.USER_LOGIN = @Login))
Par
IF exists(SELECT TOP 1 1 FROM dbo.TABLE_USERS WHERE (dbo.TABLE_USERS.USER_LOGIN = @Login))
c'est un détail, je le concède!
21 oct. 2005 à 15:52
29 juin 2005 à 15:41
Personnellement, j'utilise ceci :
Je ne sais pas si c'est moins bon ou pas.
Le Set NOCOUNT ON permet de recevoir les messages d'erreurs faits dans l'insert s'il y en a (dans des cas de contraintes pas 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
SET NOCOUNT ON
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
If @@Rowcount = 0
INSERT INTO dbo.TABLE_USERS
(USER_LOGIN,
USER_NOM,
USER_PRENOM,
USER_EMAIL,
USER_TEL)
VALUES
(@Login,
@Nom,
@Prenom,
@Email,
@Telephone)
Marc
14 avril 2005 à 02:46
voila tu vient de m'eviter 1 tube d'aspirine et ca marche en prime.
bravo
22 déc. 2004 à 18:09
Super ton code ....a chaque fois que je lis un de tes codes ....j'en apprends beaucoup crois moi !
Encore encore ....on veut plus de codes de ta part ;-) !
Tu n'as pas des exemple simples sur les droits et les jobs sous sql serveur a poster?
Merci pour tout....
A bientot
Ciao
Christophe
un bouillonnais
24 nov. 2004 à 02:48