[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-team] [SQL] Problme avec apostrophes et mise a jour



Bonjour,

Je bosse sur un programme qui me met a jour une base de donnee via SQL.
L'operation se deroule comme suit :
 - il lit dans un fichier texte la nouvelle "base" (suite de lignes)
produit que donne un fournisseur,
 - il pond une requete SQL et met a jour la vraie base de donnee.

Le probleme, c'est que :
 - de nouveaux articles peuvent arriver
 - le prix d'article existant deja peuvent changer
 - des articles peuvent ne plus faire partie du catalogue fournisseur (mais
il faut les garder dans la base pour pouvoir imprimer les vieilles factures)

Les solutions respectives aux problemes :
 - insert into Produit.......
 - update Produit .......
 - ne rien faire pour l'instant

Les problemes (respectifs) des solutions !! :
 - ne met pas a jour un produit deja present
 - ne rajoute pas un nouveau produit

Donc si vous avez une solution aux deux derniers problemes de solutions de
problemes !!! Et bien faites m'en part.

Sinon, toujours en SQL, mais dans une autre categorie, la designation de
certains article comporte une apostrophe ('). Mais l'apostrophe est le
separateur (l'encadreur) des valeurs alphanumeriques. Donc pour l'instant
je me cantonne a changer toutes les ' en ". Mais ca ne peut pas durer comme
ca apres la periode de developpement.

La encore : Solution -> j'suis preneur !

Pour info un (petit) extrait du fichier d'origine :

ACEA20    RECHARGE ACETYLENE REF ACEA20 DG    248,00
ACEA30    RECHARGE ACETYLENE REF ACEA30 DG    334,00
ACEA34    RECHARGE ACETYLENE REF ACEA34 DG    363,00
ACEA40    RECHARGE ACETYLENE REF ACEA40 DG    363,00
ACEA60    RECHARGE ACETYLENE REF ACEA60 DG    546,00
ACEA70    RECHARGE ACETYLENE REF ACEA70 DG    637,00
ARGB05    RECHARGE ARGON REF ARGB05     DG    292,00
ARGB20    RECHARGE ARGON REF ARGB20     DG    498,00

Il y a pres de 13000 lignes comme ca dans le fichier texte.

Pour info la solution actuelle, qui plante au bout de quelques
enregistrements (250), fait ceci :
 - select * from produit;
 - combien d'enregistrement resultant ?
   - si 1 ou plus :
      - update produit.....
   - sinon
      - insert into produit....

Et en plus cette manip prend un temps dingue... Je suis pret a aller
jusqu'a la procedure stockee s'il le faut, mais il faut que ca marche de
facon sur et certaine. Et pas a la vitesse d'un escargot, meme si il faudra
faire cette operation que tous les mois.


A+
 Yo


/----------------------------/
/         M. MASSE           /
/     masse@meon-com.fr      /
/   Mobile 06 60 53 39 94    /
/     Fax 06 61 66 00 14     /
/     Meon Communication     /
/   Comores - Anjouan 88     /
/      521, ch du Puy        /
/      06600 ANTIBES         /
/         FRANCE             /
/----------------------------/
---------
Visit the Linux Supertore Online: http://www.redcorp.com !
If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.