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] Requete stockée dans la base de données


Sujet :

Développement SQL Server

  1. #1
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut [SQL Server 2008] Requete stockée dans la base de données
    Bonjour,

    Pour une application, je stocke des requetes dans une table. Pour les executer en une fois, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @req varchar(8000);
    SELECT @req=REQ FROM REQUETE WHERE ID = 1;
    EXEC(@req)
    Ca marche mais si le champ est de longueur > 8000, c'est perdu. Est ce qu'il existe une autre maniere pour faire ca sans cette limitation ?

    Merci

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Essaye avec varchar(max)

    A condition que la colonne dans ta table fasse elle-même plus de 8000 caractères pour pouvoir stocker des requêtes dépassant cette taille.
    Ceci-dit ce genre de requêtes, tu doit pas en voir des masses, 8000 caractères ça commence à faire énorme pour une requete.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    bonjour

    utilise-donc le type varchar(max) au lieu de varchar(8000) (il faut changer la colonne et la variable).
    Emmanuel T.

  4. #4
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Merci pour vos reponses. Effectivement, ca a l'air de marcher. Est ce qu'il existe une contre indication à l'utilisation de varchar(max) ? C'est tres gourmand en memoire/performances ?

    Merci

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/09/2012, 13h00
  2. [MySQL] ENvoyer un émail a une liste des emailes stocké dans une base de données My SQL
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 19/07/2012, 12h11
  3. Sql Server 2008 requete spatiale
    Par techgeom dans le forum Accès aux données
    Réponses: 0
    Dernier message: 17/01/2012, 16h01
  4. [SQL Server 2008 Express] Probleme Creation de base de donnees
    Par patrickthierry dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/04/2010, 21h28
  5. [SQL Server 2008] optimisation recherche dans table
    Par dingo200 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/05/2009, 10h22

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