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 :

Comment améliorer le code d'une procédure


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Gestionnaire

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Par défaut Comment améliorer le code d'une procédure
    Bonjour !!

    Voila, je suis assez nouveau dans le TRANSACT-SQL et j'aimerais optimiser le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    USE [TEST_DB_BFU]
    GO
    declare @NomChamp nvarchar(64)
    set @NomChamp = (select FieldName from BFU_SysSQLColumns where [order]=1)
    EXEC sp_rename 'BFU_TEST.champ01',@NomChamp, 'COLUMN'
    set @NomChamp = (select FieldName from BFU_SysSQLColumns where [order]=2)
    EXEC sp_rename 'BFU_TEST.champ02',@NomChamp, 'COLUMN';
    set @NomChamp = (select FieldName from BFU_SysSQLColumns where [order]=3)
    EXEC sp_rename 'BFU_TEST.champ03',@NomChamp, 'COLUMN';
    GO
    Ce code fonctionne, mais j'aimerais apprendre à utiliser les variables en prenant ce code comme exemple...

    Merci d'avance

  2. #2
    Candidat au Club
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Gestionnaire

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Par défaut Résolu
    Pour info, le problème Résolu en utilisant l'opérateur WHILE et en déclarant plusieurs variables...

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Moins simple à maintenir mais plus efficace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE @sql nvarchar(max)
     
    SELECT	@sql = CASE WHEN @sql IS NULL THEN '' ELSE @sql END
    			+ 'EXEC sp_rename ''BFU_TEST.champ0' + CAST([order] AS char(1)) + ''', ''' + FieldName + ''', ''COLUMN'';' + CHAR(13) + CHAR(10)
    FROM	BFU_SysSQLColumns
     
    PRINT @sql
     
    EXEC (@sql)
    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#]Comment récupérer le code d'une Exception ?
    Par joujoukinder dans le forum C#
    Réponses: 18
    Dernier message: 30/07/2007, 02h47
  2. Réponses: 2
    Dernier message: 29/05/2006, 00h31
  3. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 21h13
  4. Réponses: 4
    Dernier message: 12/12/2005, 18h25
  5. [C#/SQL] Comment gérer les exceptions d'une Procédure stockée ?
    Par thomas_strass dans le forum Accès aux données
    Réponses: 10
    Dernier message: 06/07/2005, 11h40

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