Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'ai créé une fonction qui automatise l'export au format csv du résultat d'une requête dont un champ est une variable (le nom d'une commune).
Le problème est que pour certaines communes j'ai une apostrophe dans le nom et de ce fait ma requête select ne fonctionne pas dans tous les cas.
Que dois je faire pour résoudre ce problème?
voici la structure de ma requête select :
select * from matable where commune = ''' || varcommune|| '''
où varcommune est la variable contenant le nom de la commune
Merci beaucoup pour votre aide.
Hors ligne
Ca dépend du langage de programmation où varcommune est défini, chaque langage de programmation ayant ses propres méthodes pour injecter une variable dans une requête.
Si le langage est plpgsql, on utilisera plutôt USING ou en second choix la fonction quote_literal.
Si c'était du C on utiliserait la fonction PQescapeStringConn, si PHP pg_escape_string etc...
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Bonjour,
Merci pour votre réponse. Désolée de ne pas avoir précisé le langage, en fait comme j'ai posté ce message dans la section PL/pgSQL je pensais que ça suffisait. J'ai essayé d'utiliser le using mais j'obtiens une erreur de syntaxe. Par contre en utilisant le quote_literal, cela fonctionne parfaitement! (Pour info, je suis en version 8.4 de postgreSQL)
Un grand merci pour votre aide!
Dernière modification par laura (23/10/2012 08:45:30)
Hors ligne
Pages : 1