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 :

Variable de plus de 8000 caractères


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 154
    Par défaut Variable de plus de 8000 caractères
    Bonjour,

    Je veux créer une variable qui contient du SQL dynamique pour l'executer plus tard. Mais je n'arrive pas à définir la taille de la variable le code est toujours tronquée. Même si je défini la variable à varchar(max)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    DECLARE @cpt int,@champ int
    DECLARE @SQLString varchar(max)
     
    SET @SQLString = 'case '
    SET @champ=1
    SET @cpt=(select count(*) FROM 	[1-transfert].INFORMATION_SCHEMA.COLUMNS WHERE 	TABLE_NAME='tmp_bla_verbatim')
    PRINT 'Nb colonne : ' + cast(@cpt as varchar)
     
    WHILE @champ<=@cpt
    	BEGIN
    		SET @SQLString = @SQLString + (SELECT 'when [' + COLUMN_NAME + ']=''1'' and COLUMN_NAME = ''' + replace(COLUMN_NAME,'''','''''') + ''' then ''' + replace(COLUMN_NAME,'''','''''') + ''''
    										FROM [1-transfert].INFORMATION_SCHEMA.COLUMNS
    										WHERE TABLE_NAME='tmp_bla_verbatim'	and ORDINAL_POSITION = @champ)
    		PRINT cast(@champ as varchar) + ' ' + @SQLString
    		SET @champ=@champ + 1
    	END

  2. #2
    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,

    Une variable (ou une colonne) de type varchar(max) peut stocker 2 milliards de caractères; donc il est étonnant que votre chaîne soit tronquée.
    Dans quel but avez-vous écrit ce code ?

    @++

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 154
    Par défaut
    J'ai écrit se code pour pouvoir gérer le case when quelque soit le nb et le nom des colonnes en entrée. Pour faire un pivot dynamique.

    @+

  4. #4
    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
    OK. Pouvez-vous me confirmer qu'à ce stade, vous n'avez besoin que de la liste des colonnes de la table que vous passeriez en paramètre ?

    @++

Discussions similaires

  1. [2005] Ntext pas plus de 8000 caractères
    Par mister3957 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/10/2007, 11h03
  2. SQL de plus de 255 caractères dans un recordset
    Par acama dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 05/01/2006, 15h50
  3. JDBC : requete de plus de 4000 caractères
    Par Endymion222 dans le forum JDBC
    Réponses: 1
    Dernier message: 01/12/2005, 17h00
  4. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  5. [C#] Une variable dans une chaine de caractères...
    Par GlorfindelHebril dans le forum Windows Forms
    Réponses: 9
    Dernier message: 31/03/2005, 14h30

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