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 :

Caractère d'échappement en T-SQL


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 111
    Par défaut Caractère d'échappement en T-SQL
    Bonjour,
    J'ai une procédure stockée en T-SQL qui rempli une table dans une base Test, avec les donneés d'une autre table, se situant dans une autre Base Carto.
    Cette procédure prend un paramètre, de type NVARCHAR : @region
    Je souhaiterai pouvoir effectuer mon select en fonction de mon paramètre, de telle sorte :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ALTER PROCEDURE FillRegion (@region NVARCHAR)
    AS
    BEGIN
    	SET NOCOUNT ON;	
    	INSERT INTO Test.Region
    	SELECT ID, 
    	Nom		
    	FROM Cartes.Region
    	WHERE Nom LIKE @region
    END

    Cela ne marche pas, j'ai donc pensé a "entourer" @region de cette façon : '@region'
    Mais dans ce cas il considère que le contenu entre les deux ' est une chaîne de caractère... Je ne trouve pas le caractère d'échappement pour annuler cet effet...
    Une idée?

  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,

    Pour faire une filtrer sur une chaîne de caractères, vous n'avez pas besoin de LIKE. Vous pouvez directement écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ALTER PROCEDURE FillRegion (@region NVARCHAR)
    AS
    BEGIN
    	SET NOCOUNT ON;
     
    	INSERT	INTO Test.Region
    	SELECT	ID, 
    		Nom		
    	FROM	Cartes.Region
    	WHERE	Nom = @region;
    END
    Si en revanche vous voulez filtrer sur les régions qui contiennent une certaine suite de caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ALTER PROCEDURE FillRegion (@region NVARCHAR)
    AS
    BEGIN
    	SET NOCOUNT ON;
     
    	INSERT	INTO Test.Region
    	SELECT	ID, 
    		Nom		
    	FROM	Cartes.Region
    	WHERE	Nom LIKE '%' + @region + '%'
    END
    @++

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2014, 16h19
  2. caractère d'échappement de '['
    Par Ecibat dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 19/12/2005, 14h27
  3. Caractères d'échappement
    Par dl_jarod dans le forum ASP
    Réponses: 2
    Dernier message: 26/10/2005, 10h36
  4. caractéres d'échappements
    Par kleenex dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 12h46

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