Vous n'êtes pas identifié(e).
Salut !
Dans ma base de donnée, j'ai une table qui contient des données importantes. Je veux faire un simple test avec les données de certaines colonnes seulement.
Pour cela, j'ai créé une autre table, et j'ai essayé d'écrire un code qui me permet de copier les données dont j'ai besoin dans la nouvelle table pour pouvoir faire mon test sans toucher l'ancienne table.
et j'ai utilisé l'outil Query de pgadmin3 pour ecrire la requete SQL et l'executer. Mais il me donne toujours les messages d'erreur. je suis vraiment nouveau dans l'utilisation des BD et je voudrais que vous revoyez mon code et si possible me proposer autre methode en utilisant toujours pgadmin3.
ma nouvelle table se nomme fuel_table et l'ancienne se nomme FUEL. Les colonnes sont de memes types. Mais l'ancienne a plus de colonne que la nouvelle.
voici le code:
begin
declare nbre int;
WHILE nbre <200 DO
INSERT INTO fuel_table (id,serial_number,rtc_time,gps_time,value)
SELECT ( "L_ID","L_SERIAL_NUMBER","L_RTC_TIME","L_GPS_TIME","L_VALUE")
FROM "FUEL"
WHERE "L_ID"=nbre;
nbre=nbre+1;
END WHILE;
END;
Dans le message d'erreur, on me dit ''erreur de syntaxe sur ou près de "declare". y'a d'autres messages aussi.
Hors ligne
Bonjour,
vous essayez d'utiliser du code procédural, ce qui n'est marchera pas sans utiliser de fonction anonyme (mot clé DO) ou créer une procédure stockée, mais surtout une simple requête sql serait beaucoup plus efficace :
INSERT INTO fuel_table (id,serial_number,rtc_time,gps_time,value)
SELECT "L_ID","L_SERIAL_NUMBER","L_RTC_TIME","L_GPS_TIME","L_VALUE"
FROM "FUEL"
WHERE "L_ID" < 200;
Julien.
https://rjuju.github.io/
Hors ligne
cette requête règle parfaitement mon problème !
merci bcp
Hors ligne