Vous n'êtes pas identifié(e).

#1 17/11/2013 16:06:02

doumib
Membre

Transfert des données d'une table dans une autre table avec pgadmin3

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

#2 17/11/2013 16:12:45

rjuju
Administrateur

Re : Transfert des données d'une table dans une autre table avec pgadmin3

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;

Hors ligne

#3 18/11/2013 11:21:15

doumib
Membre

Re : Transfert des données d'une table dans une autre table avec pgadmin3

cette requête règle parfaitement mon problème !
merci bcp

Hors ligne

Pied de page des forums