#1 Thu 10 April 2008 11:58
- 3cafes
- Participant occasionnel
- Date d'inscription: 6 Feb 2008
- Messages: 22
[7.8] mise à jour de champ avec une clause where
Bonjour j'aimerais savoir si il est possible de réaliser une mise à jour d'un champ d'une table en utilisant le fenêtre MapBasic. En fait mon champ à mettre à jour dépend de données d'un autr champ. Je dois donc inclure une clause where dans ma commande mais il semblerait que je ne puisse pas la réaliser. Voici ma commande :
Code:
Update Zones_Thiviers SET types_CdCNational = "N" WHERE Nom_zones="N"
et voici ce que me retourne MapInfo :
"Impossible de réaliser cette opération sur le champ Nom_zones"
Pourriez-vous me dire si une telle mise à jour est possible et dans ce cas me donner la bonne commande ?
Merci d'avance.
Hors ligne
#2 Thu 10 April 2008 15:07
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [7.8] mise à jour de champ avec une clause where
Bonjour
La commande Update n'admet que la clause WHER ROWID = xxx
Il faut donc sélectionner avant les enregistrements WHERE Nom_zones="N"
...et faire porter le update sur cette sélection (sans clause WHERE du tout !!)
Hors ligne
#3 Mon 10 October 2011 15:33
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Re: [7.8] mise à jour de champ avec une clause where
J'ai le même souci, je viens de tomber sur ce sujet qui répond à ma question.
Mais sérieusement, il y a une raison valable à ce "souci" ? Ne pas accepter la clause WHERE dans une commande UPDATE, pour un logiciel SIG, c'est quand même hallucinant
Dernière modification par Sam_Dalembert (Mon 10 October 2011 15:33)
Hors ligne
#4 Mon 10 October 2011 16:14
- gussoner
- Participant actif
- Date d'inscription: 29 Jan 2006
- Messages: 128
Re: [7.8] mise à jour de champ avec une clause where
Mais non, il n'y a rien d'aberrant dans MI...
Dernière modification par gussoner (Mon 10 October 2011 16:15)
Hors ligne
#5 Mon 10 October 2011 17:13
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [7.8] mise à jour de champ avec une clause where
Salut,
Avec la FMB (si on prends l'exemple ci dessus) celà donne:
Code:
SELECT * FROM Zones_Thiviers WHERE Nom_zones LIKE "N" INTO RESULTAT Update RESULTAT SET types_CdCNational = "N"
Ne pas oublier de sélectionner les 2 lignes dans la FMB avant de valider.
A+
Joël
Hors ligne