Tout d'abord, il suffit de lancer un shell myqsl via la commande suivante :
A noter que les argument sont "collés" au options, et l'option -e pour lancer une commande sql.
$MYSQL -h$MYSQL_SERVEUR -P3306 -u$USER -p$PWD -e "$REQUETE_SAV" > sauvegardeDonnees.txt
Voici; l'exemple complet ...
#!/bin/ksh
set -x
echo "Debut de ${0}"
#------------------------------------------------------------
# VALIDATION ET RECUPERATION DES PARAMETRES
#------------------------------------------------------------
NB_PARAM=5
if [ $# -ne $NB_PARAM ]
then
echo "Nombre de paramètre incorrect"
echo
echo "USAGE : "
echo "${0} NomBase User PWD nomFileARenommer nomNouvelleFile"
exit 0
fi
# ------------------------------------------------------------------
# Chargement du profile
# ------------------------------------------------------------------
echo "Chargement du profile"
. /etc/conf/ini_trt_mysql.ksh
BASE=$1
USER=$2
PWD=$3
NOM_ORIGINE=$4
NOM_NOUVEAU=$5
REQUETE_NEW="use $BASE;SELECT * FROM client WHERE name='${NOM_NOUVEAU}'"
REQUETE_SAV="use $BASE;SELECT * FROM client WHERE name='${NOM_ORIGINE}'"
REQUETE_UPDATE="use $BASE;UPDATE client SET NAME='${NOM_NOUVEAU}' WHERE NAME='${NOM_ORIGINE}'"
echo "BASE = " $1
echo "USER = " $2
echo "PWD = " $3
# ------------------------------------------------------------------
# Lancement de la requête
# ------------------------------------------------------------------
$MYSQL -h$MYSQL_SERVEUR -P3306 -u$USER -p$PWD -e "$REQUETE_SAV" > sauvegardeDonnees.txt
$MYSQL -h$MYSQL_SERVEUR -P3306 -u$USER -p$PWD -e "$REQUETE_UPDATE"
$MYSQL -h$MYSQL_SERVEUR -P3306 -u$USER -p$PWD -e "$REQUETE_NEW" > nouvelleDonnees.txt
diff sauvegardeDonnees.txt nouvelleDonnees.txt
# ------------------------------------------------------------------
# Fin du traitement
# ------------------------------------------------------------------
echo "Fin de ${0}"
Aucun commentaire:
Enregistrer un commentaire