Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)...
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
À (at) Tue, 23 Oct 2007 13:52:44 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du
genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de
données à du texte (avec keys et values par exemple)...
Maintenant, si vous souhaitez que le texte généré soit du SQL
*valide*, je vous conseille fortement d'utiliser le module DBI (avec
le driver DBD qui convient à votree SGBD) et son mécanisme de
'placeholders'.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)...
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
Je vais voir du coté de DBI
À (at) Tue, 23 Oct 2007 13:52:44 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du
genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de
données à du texte (avec keys et values par exemple)...
Le morceau de code suivant semble convenir :
my $VAR1 = {
bla bla (copier coller le contenu de $VAR dans le post precedent)
}
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) {
my $val = $$VAR1{$key};
foreach $key (sort keys %$val){
my $val = $$val{$key};
$ALLKEY = $ALLKEY.", "."'$key'";
$ALLVALUE = $ALLVALUE.", "."'$val'";
}
my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE
"."(".$ALLVALUE.");n";
$resustr =~ s/(,/(/g;
$ALLKEY ="";
$ALLVALUE ="";
print $resustr;
}
Cela ne me semble pas la meilleur façon de faire !
C'est limite du bricolage.
Maintenant, si vous souhaitez que le texte généré soit du SQL
*valide*, je vous conseille fortement d'utiliser le module DBI (avec
le driver DBD qui convient à votree SGBD) et son mécanisme de
'placeholders'.
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
Je vais voir du coté de DBI
Paul Gaborit
À (at) Tue, 23 Oct 2007 15:07:17 +0200, c-note écrivait (wrote):
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) { my @fields = sort keys %{$VAR1->{$key}}; my @values = map {$VAR1->{$key}{$_}} @fields; my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);", join(",", @fields), join(",", @values)); print "$sqln"; }
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...
À (at) Tue, 23 Oct 2007 15:07:17 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
À (at) Tue, 23 Oct 2007 13:52:44 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du
genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de
données à du texte (avec keys et values par exemple)...
Le morceau de code suivant semble convenir :
my $VAR1 = {
bla bla (copier coller le contenu de $VAR dans le post precedent)
}
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) {
my $val = $$VAR1{$key};
foreach $key (sort keys %$val){
my $val = $$val{$key};
$ALLKEY = $ALLKEY.", "."'$key'";
$ALLVALUE = $ALLVALUE.", "."'$val'";
}
my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE
"."(".$ALLVALUE.");n";
$resustr =~ s/(,/(/g;
$ALLKEY ="";
$ALLVALUE ="";
print $resustr;
}
Cela ne me semble pas la meilleur façon de faire !
C'est limite du bricolage.
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme
ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) {
my @fields = sort keys %{$VAR1->{$key}};
my @values = map {$VAR1->{$key}{$_}} @fields;
my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);",
join(",", @fields), join(",", @values));
print "$sqln";
}
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Tue, 23 Oct 2007 15:07:17 +0200, c-note écrivait (wrote):
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) { my @fields = sort keys %{$VAR1->{$key}}; my @values = map {$VAR1->{$key}{$_}} @fields; my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);", join(",", @fields), join(",", @values)); print "$sqln"; }
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...