postgres dblink échapper l'apostrophe
Lien Connexe:
Voici mon erreur:
ERROR: type "e" does not exist
Voici ma requête:
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
E'SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN \'inactive\' ELSE \'active\'
END AS field_status
FROM the_table
')
AS linkresults(field_1 varchar(20),field_2 varchar(8))
Si j'utilise les guillemets, de supprimer la barre oblique inverse échapper les guillemets simples et supprimer les E avant l'instruction SELECT
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
"SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN 'inactive' ELSE 'active'
END AS field_status
FROM the_table
")
AS linkresults(field_1 varchar(20),field_2 varchar(8))
J'obtiens ceci:
NOTICE: identifier "SELECT ..." will be truncated
Et la je reçois aussi l'ERREUR que ma requête a été tronqué.
J'ai échappé avec dblink comme ça avant, donc, il y a un paramètre de serveur ou quelque chose que je dois configurer?
Je sais que la requête fonctionne très bien si je l'exécute sur le serveur sql server lui-même, mais pas avec dblink. Toutes les pensées?
Postgres version 8.4
votre post a travaillé, pourquoi le supprimer?
J'ai mis à jour à quelque chose de plus simple. Si cela ne fonctionne pas je peux en faire rapport à la réponse précédente.
J'ai mis à jour à quelque chose de plus simple. Si cela ne fonctionne pas je peux en faire rapport à la réponse précédente.
OriginalL'auteur Phill Pafford | 2011-07-07
Vous devez vous connecter pour publier un commentaire.
Essayez de remplacer
\'inactive\'
avec''inactive''
-- attention: deux guillemets simplesAlternative (précédent) solution
E\'inactif\' il a travaillé pour moi et aussi votre autre solution en utilisant les deux apostrophes "
Vous pouvez aussi utiliser $$ style des citations.
OriginalL'auteur niktrs
Essayer cette requête:
OriginalL'auteur kaushik