Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1410 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Pervasive SQL Mettre a jour une Table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pervasive SQL Mettre a jour une Table

n°2222713
Timkeeper
Posté le 20-03-2014 à 14:08:45  profilanswer
 

Bonjour à tous,  
 
Etant grand débutant en SQL, je dois mettre a jour une table et souhaitais une assistance :
 
J'ai crée cette requête qui fonctionne très bien :
SELECT  
 "ARTFOURN"."Reference",  
 SUBSTRING ("ARTFOURN"."Reference",2) AS "RefFourn1",
 "ARTICLE"."Libelle",
 "ARTFOURN"."Fournisseur",
 "FOURNISSEUR"."RaisonSociale",  
 "ARTFOURN"."RefFourn"
 
FROM  
 "ARTFOURN",  
 "FOURNISSEUR",
 "ARTICLE"
 
WHERE  
 "ARTFOURN"."Fournisseur" =  "FOURNISSEUR"."Code"
 AND
 "ARTFOURN"."Reference" = "ARTICLE"."Reference"
 AND
 "ARTFOURN"."RefFourn" = ''
 AND  
 "FOURNISSEUR"."RaisonSociale" LIKE 'VALMET%'
 
 
ORDER BY  
 "FOURNISSEUR"."RaisonSociale"  
 ASC
 
Donc je dois mettre a jour la table "ARTFOURN" colonne "RefFourn" avec la colonne RefFourn1  crée depuis la requête précédente.
 
J'ai donc crée la requete suivante qui ne fonctionne pas avec le message suivant :
 
UPDATE  
 "ARTFOURN"
 
SET  
 "ARTFOURN"."RefFourn" = SUBSTRING ("ARTFOURN"."Reference",2)
 
WHERE  
 "ARTFOURN"."Reference" =  
 
(SELECT "ARTFOURN"."Reference"
 FROM  
  "ARTFOURN",  
  "FOURNISSEUR",
  "ARTICLE"
 
WHERE  
 "ARTFOURN"."Fournisseur" =  "FOURNISSEUR"."Code"
 AND
 "ARTFOURN"."Reference" = "ARTICLE"."Reference"
 AND
 "ARTFOURN"."RefFourn" = ''
 AND  
 "FOURNISSEUR"."RaisonSociale" LIKE 'VALMET%')
Some error(s) encountered while executing SQL statement(script).
 
ODBC Error: SQLSTATE = S1000, Native error code = 0  
'Invalid row-count in subquery.
 
Quelqu'un peut-il m'aider ?
 
Merci d'avance
 
Cordialement  
 
Timkeeper
 
 

mood
Publicité
Posté le 20-03-2014 à 14:08:45  profilanswer
 

n°2222868
Soileh
Lurkeur professionnel
Posté le 22-03-2014 à 12:01:10  profilanswer
 

:hello: !
 
Je ne sais pas si tu as trouvé la solution depuis le temps, mais le problème se situe au niveau de ta condition :

Code :
  1. WHERE 
  2. "ARTFOURN"."Reference" =


 
En effet, ta sous-requête retourne plusieurs enregistrements, comme te l'indique le message d'erreur :

Code :
  1. ODBC Error: SQLSTATE = S1000, Native error code = 0 
  2. 'Invalid row-count in subquery.


 
Pour corriger ta requête, il te suffit de remplacer ton égalité par un test sur un ensemble :

Code :
  1. WHERE 
  2. "ARTFOURN"."Reference" in (
  3.   SELECT "ARTFOURN"."Reference"
  4. FROM 
  5. [...]
  6. )


 
:jap:


---------------
And in the end, the love you take is equal to the love you make

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Pervasive SQL Mettre a jour une Table

 

Sujets relatifs
Mettre du batch en vbsRéponse SQL variable
Délai dépassé sur Requète SQL[SQL] Quand une des condition est dans le résultat
[SQL/PostgreSQL] RENAME COLUM[SQL] ORDER BY selon préférence
[RESOLU] REQUETE SQL AVEC ID ET ORDERSqL - requête
[Oracle]Taille d'une table étrange, pas de droits DBA.[POSTGRESQL] Table non défini
Plus de sujets relatifs à : Pervasive SQL Mettre a jour une Table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR