PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 08/03/2010 19:20:34

prady92
Membre

Serveur lié PostgreSQL

Bonjour,

je récupère des tables PostgreSql depuis SQLServer 2005, j'y fais aussi des insert tout cela sans problème par la méthode suivante :

pour la récupération de la  table PostgreSQL dans SQLServer  :

DELETE auditinterne FROM auditinterne 

INSERT INTO auditinterne ( clef, age, nom, prenom, adresse, commentaire)
SELECT Client.clef, Client.age, Client.nom, Client.prenom, Client.adresse
FROM "ServeurBaseClientPostgre"..."audit" as Client 

pour une insertion dans la table PostgreSQL :

INSERT INTO "ServeurBaseClientPostgre"..."audit" (clef, age, nom, prenom, adresse, commentaire) 
SELECT clef, age, nom, prenom, adresse, commentaire 
FROM auditinterne

cela via une serveur lié que j'ai nommé ServeurBaseClientPostgre

Mon problème est que je n'arrive pas à écrire le code suivant pour une maj :

UPDATE "ServeurBaseClientPostgre"..."audit" 
SET commentaire= 'blabla' FROM auditinterne 
WHERE "ServeurBaseClientPostgre"..."audit.clef" = '1234'

j'ai le message "L'identificateur en plusieurs parties "ServeurBaseClientPostgre"..."audit".clef ne peut pas être lié."
j'ai essayé avec "ServeurBaseClientPostgre"..."audit"."clef" j'ai le message "L'identificateur en plusieurs parties "ServeurBaseClientPostgre"..."audit"."clef""
j'ai essayé avec "ServeurBaseClientPostgre"..."audit".[clef] j'ai le message "L'identificateur en plusieurs parties "ServeurBaseClientPostgre"..."audit".[clef]"
donc le libellé de ce message est toujours en rapport avec ma clause WHERE.

Quelqu'un pourrait-il me dire comment faire ?
je n'ai pas le problème avec les INSERT ou SELECT car en utilisant la clause AS Client j'évite ce problème, chose que l'on ne peut faire avec un UPDATE.

D'avance merci

Hors ligne

#2 08/03/2010 21:31:50

Marc Cousin
Membre

Re : Serveur lié PostgreSQL

Bonjour,

À ma connaissance votre erreur est une erreur SQL Server (jamais vu sous PostgreSQL). Vous avez donc intérêt à vous adresser à un forum SQL Server pour obtenir une réponse (l'erreur ne vient pas de PostgreSQL). Peut-être y trouverez vous une méthode pour contourner ce qui semble être une limitation.


Marc.

Hors ligne

Pied de page des forums