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