1 pièce(s) jointe(s)
Script create drop table postgres et alimentation - externalisation des fichiers ordre sql
Bonjour a Tous,
Je pense que ce que je demande est assez basique mais comme je débute en Perl :oops:.
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:
Code:
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"; |
avec la lecture du fichier en externe :
Code:
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"; |
J'ai par contre le problème avec l'utilisation des quotes.
Pièce jointe 500573
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é?