Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Perl » Envoyé default et non "default" a postgresql » 20/04/2011 11:41:33
ça marche !! je crois que j'ai trouvé mon Dieu sur terre lol merci !!!
cordialement ZouZou
#2 Re : Perl » Envoyé default et non "default" a postgresql » 20/04/2011 11:36:52
ha d'accord ! j'imaginais pas ça comme ça
je vous remercie Marc, je vais essayé de faire une bidouille dans le genre je vous tiendrais au courant si j'ai réussie
merci beaucoup
#3 Re : Perl » Envoyé default et non "default" a postgresql » 20/04/2011 11:02:29
Bonjour Marc,
merci de votre intervention rapide.
je vous montre les parties de mon code qui effectue ce traitement.
voici l'affectation de default a ma variable :
sub par_default{
my $valeur=$_[0];
if ($valeur eq "" or $valeur == 0){
my $valeur="default";
return $valeur;
}
else {
return $valeur;
}
}
extrait du script qui insére dans la base de donnée:
while ($ligne=<NEW_DONNE>){
chomp($ligne);
my ($module,$elem,@rest)= split /;/,$ligne;
if ($module eq "" or $elem eq""){
print "Les informations sont manquante \npas d'insertion dans la base pour la ligne $ligne \n";
}
else {
my $req1="select nom_module from description_module where nom_module=?";
my $modul_existe=$db->prepare($req1);
$modul_existe->execute($module);
my $test=$modul_existe->rows;
if ($test == 0){
print "$module n'existe pas \n";
#on crée
if ( $elem =~ /^([0-9]{1,3}\.){3}[0-9]{1,3}$/){
if (&adresse_valide($elem)){
my ($surv,$freq_ex,$periode,$freq_attente)= @rest;
$surv = &par_default($surv);
$freq_ex = &par_default($freq_ex);
$periode = &par_default($periode);
$freq_attente = &par_default($freq_attente);
my $req_add_module="insert into description_module (nom_module, surveillance_recherche, requence_d_execution_du_module, Periode_d_attente_entre_deux_executions, Frequence_d_interogation_du_module, Adresse_ip) VALUES (?,?,?,?,?,?)";
my $add_module=$db->prepare($req_add_module);
print "$module,$surv,$freq_ex,$periode,$freq_attente,$elem\n";
$add_module->execute($module,$surv,$freq_ex,$periode,$freq_attente,$elem);
$add_module->finish();
}
else{
print "adresse non valide, l'ajout dans la base impossible \nVeuiller indiquer une adresse conforme pour la ligne $ligne \n";
}
}
voila j'espère que vous comprendrez ce que je veux faire ^^
#4 Perl » Envoyé default et non "default" a postgresql » 20/04/2011 10:48:27
- ZouZou
- Réponses : 5
Bonjour,
Je reviens vous voir avec nouveau défis:).
J’ai un script en perl qui lis un fichier ligne par ligne, vérifie la validité de informations contenue dans la ligne et les ajoutes dans ma base.
Une partie de mon script a pour but d’affecter dans ma base la valeur par défaut indiquer dans ma base, si l’élément est manquant. J’affecte donc à ma variable « default ».
Mon problème arrive au moment d’exécuté ma requête. J’obtiens le message d’erreur : «ERROR: value for domain situation_recherche violates check constraint ».
Si j’ai bien compris le problème lors de mon insert into, default est lu comme ça :
« Insert into table_exemple (v1,v2,v3) values(‘toto’,’default’,’12 ans’ );»,
Je souhaiterais savoir s’il est possible de faire comprendre à la base de donnée que la requête doit ce lire comme ça: « Insert into table_exemple (v1,v2,v3) values(‘toto’,default,’12 ans’ );».
Ou dois-je commencer à chercher une autre solution ? ^^
Cordialement ZouZou
#5 Re : Général » Code retour d'une instruction sql vide » 15/04/2011 16:00:04
j'ai un peut honte :$ ça fait deux jours que je m'arrache les cheveux sur ce problème et au final c'est pas compliquer du tout a résoudre. T_T
je vous remercie pour vos réponses et de vos explications !!! j'ai encore gagné en connaissance encore aujourd'hui grâce a vous ^^:p.
PS: je passe régulièrement sur votre forum et apprécie la qualité de vos réponses ! UN GRAND MERCI
Cordialement ZouZou
#6 Re : Général » Code retour d'une instruction sql vide » 15/04/2011 15:48:33
Bonjour Gleu,
merci pour ta réponse très rapide .
j'ai oublié de mentionné que je débute également en perl.
Pour ma défense je n'ai pas vue d'option row pour le module DBI dans les docs que j'ai trouvé. ^^
je vais donc orienté mes recherches sur ce qui pourrait s'en rapprocher !
et vous tiendrais au courant !! merci
#7 Général » Code retour d'une instruction sql vide » 15/04/2011 15:41:46
- ZouZou
- Réponses : 10
Bonjour, bonjour ,
Je viens vous solliciter car j’ai un petit problème dans l’élaboration d’un script.
Je vous explique, je suis en stage actuellement et j’utilisé Postgresql (pour la première fois). Je me suis plutôt vite familiarisé avec l’éléphant mais pas encore assez pour qu’il me dévoile tout ses secrets !
Mon problème est que je crée donc un script en Perl et j’interroge une base de données avec un simple select . Tout ce passe très bien…. Sauf quant il n’y a pas de valeurs en réponse a ma requête.
En gros si j’effectue cette requête avec une valeur qui n’existe pas, directement dans ma base j’obtiens un jolie (0 row) (ce qui est normal vous me direz ^^). Oui ! élas j’ai besoin du résultat de cette requête, même s’il n’y a rien à retourner pour effectuer un test.
Je me demande s’il est possible de récupère un numéro ou quelque chose comme un code retour, permettant d’identifier un résultat vide ??? auriez-vous une idée ^^ ?
J’espère que j’ai été claire ^^.
Cordialement ZouZou.
Pages : 1