IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

[SQL Server 2008] Problème lors de plusieurs UPDATE à la suite : le 2nd annule le premier


Sujet :

Développement SQL Server

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [SQL Server 2008] Problème lors de plusieurs UPDATE à la suite : le 2nd annule le premier
    Bonjour à tous !

    Je suis novice en Transact-SQL et je bloque sur un problème.

    Je souhaite corriger le contenu d'un champ (texte) de l'une de mes tables.
    J'ai un champ nommé "VOIE" avec des noms de rue. J'ai créé un nouveau champ nommé "VOIE_NORM" avec le même contenu que "VOIE".
    Le champs "VOIE" et "VOIE_NORM" contiennent des noms de rue, par ex. 'BD ST MARTIN'.
    Je souhaite corriger le contenu du champ "VOIE_NORM". En reprenant mon exemple, je veux transformer les 'BD ' en 'BOULEVARD ' et transformer les 'ST ' en 'SAINT-'

    J'utilise un UPDATE pour ça, voici la première requete que j'ai lancée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	BEGIN TRAN boulevards;
    	UPDATE [BD_AD_V1].[dbo].[TAB_ADR_V2]
    	SET VOIE_NORM = REPLACE(VOIE, 'BD ', 'BOULEVARD ')
    	WHERE VOIE like 'BD%';
    	COMMIT TRAN boulevards;
    > Une fois que cet Update est exécuté, je vérifie et tout est OK, ma transformation des 'BOULEVARD' s'est bien passée : J'ai 'BOULEVARD ST MARTIN'

    J’exécute ensuite un 2nd Update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	BEGIN TRAN saints;
    	UPDATE [BD_AD_V1].[dbo].[TAB_ADR_V2]
    	SET VOIE_NORM = REPLACE(VOIE, ' ST ', ' SAINT-')
    	WHERE VOIE like '% ST %';
    	COMMIT TRAN saints;
    
    > Je vérifie, et là le 'ST' s'est bien transformés en 'SAINT-' mais le 'BOULEVARD' est redevenu 'BD'. Mon premier UPDATE a été annulé !

    J'ai également essayé cette version de requête mais ça ne marche pas mieux niveau correctifs (l'update précédent est annulé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	BEGIN TRAN voies;
    	UPDATE [BD_AD_V1].[dbo].[TAB_ADR_V2]
    	SET VOIE_NORM = REPLACE(VOIE, 'BD ', 'BOULEVARD ')
    	WHERE VOIE like 'BD%';
    	UPDATE [BD_AD_V1].[dbo].[TAB_ADR_V2]
    	SET VOIE_NORM = REPLACE(VOIE, 'BVD ', 'BOULEVARD ')
    	WHERE VOIE like 'BVD %';
    	UPDATE [BD_AD_V1].[dbo].[TAB_ADR_V2]
    	SET VOIE_NORM = REPLACE(VOIE, ' ST ', ' SAINT-')
    	WHERE VOIE like '% ST %';
    	COMMIT TRAN voies;
    
    Est-ce que quelqu'un pourrait m'éclairer sur ce problème ? J'ai peut être oublié certaines choses dans mes requêtes mais je ne vois pas où (aucune erreur ne m'est renvoyé dans mon résultat de requête), là je bloque totalement !

    Merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Comme ça rapidement, il manquerait pas les GO ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    BEGIN TRAN boulevards;
    UPDATE [BD_AD_V1].[dbo].[TAB_ADR_V2]
    SET VOIE_NORM = REPLACE(VOIE, 'BD ', 'BOULEVARD ')
    WHERE VOIE like 'BD%';
    COMMIT TRAN boulevards;
    GO

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse rapide

    Un GO n'y change rien j'ai toujours le même problème...

    Une autre proposition ?

Discussions similaires

  1. Installation SQL Server 2008 - Problème de Framework
    Par BiBloOo dans le forum Administration
    Réponses: 10
    Dernier message: 07/03/2010, 22h10
  2. [SQL SERVER 2008] problème agent de journal
    Par Hydre dans le forum Réplications
    Réponses: 0
    Dernier message: 27/05/2009, 15h00
  3. SQL server 2008 Problème de lecture seule
    Par Kalion dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/03/2009, 13h20
  4. [INSTALLATION SQL SERVER 2008]Problème de comptes
    Par sarapis dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/08/2008, 17h02
  5. [SQL Server 2005]problème lors du création d'un nouvel utilisateur
    Par etoile_de_vie dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/08/2007, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo