SQL INTERBASE TIBSQL

jlp_alexandre Messages postés 25 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 12 janvier 2006 - 17 oct. 2005 à 23:03
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006 - 18 oct. 2005 à 12:01
Bonjour,
Je démarre avec INTERBASE
Quelle est la syntaxe just pour cette requête dans un composant TIBSQL ?

Je veux mettre a jour la colonne id_region de CP_TBL avec les régions correspondantes de DEPT_TBl (colonne id_region).
La colonne id_region table ID_DEPT est correctement renseignée. Les tables ont OK.
A l'éxécution du SQL j'ai une erreur de syntaxe sur DEPT_TBL.id_region (sql error 206, colonne DEPT_TBL.id_region inconnue).

update CP_TBL
set id_region = DEPT_TBL.id_region
where
id_dept = DEPT_TBL.id_region;

(CP_TBL et DEPT_TBL sont des tables, id_region et id_dept sont des colonnes).
Je dois me tromper quelque part !
Merci par avance

1 réponse

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
18 oct. 2005 à 12:01
Bonjour,



Dans ta requête d'update, tu ne fais pas référence à la table dept_tbl et c'est pour cela que cela se plante.

Tu dois écrire le contenu de la requête de mise à jour à chaque fois que tu veux l'utiliser, du style :



sql.clear;

sql.add('update cp_tbl');

sql.add('set id_region = ' + ...);

sql.add('where id_dept = ' + ...);



Cependant, pour ce genre d'opération : update, insert, ... il est plus
facile d'utiliser un composant TIBDataset, il fait tout pour toi.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
Rejoignez-nous