Bonjour a Tous,
Je pense que ce que je demande est assez basique mais comme je débute en Perl.
J'ai fait un script qui permet de faire l'alimentation d'une table après la création d'un drop/create.
Seulement, les ordres sql sont dans le script alors que j'aimerais qu'un fichier soit lu avec ces ordres.
Exemple avec les ordres sql dans le script:
avec la lecture du fichier en externe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 # Alimentation de la $table # Ordres SQL d'alimentation my $sql = "COPY $table (contexte, client, typologie, code_type_contexte, systeme,perimetre_urba, domaine_urba, zone_urba,origine, serveur, nom_ressource) FROM STDIN WITH DELIMITER ';' CSV HEADER"; $dbh->do($sql) or die "Anomalie pour l'ordre SQL de copy\n"; print "Ordre d'alimentation de la base : Ok\n";
J'ai par contre le problème avec l'utilisation des quotes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # Alimentation de la $table # Ouverture du fichier contenant les ordres SQL d'alimentation open (SQL,$FilepathOrderSqlAlim) or die "Ouverture du fichier des ordres sql $FileOrderSqlAlim pour la création de la base impossible\n"; print "Ouverture du fichier ordre SQL $FileOrderSqlAlim : Ok\n"; # Lecture et execution des ordres SQL séquentiellement @Sqls = split(/;/,join('',<SQL>)); for $sql (@Sqls) { $dbh->do($sql) or die "Anomalie pour l'ordre SQL $sql \n"; print "Ordre SQL: ", $sql ,"\n"; } print "Ordre d'alimentation de la $table : Ok\n";
Comment puis-je reproduire l'utilisation des double quote comme l'exemple premier pour pouvoir placer les quotes utilisé dans les ordres sql dans le
fichier externalisé?
Partager