IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Update Automatique-script Sql


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de _shuriken_
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2006
    Messages : 543
    Par défaut Update Automatique-script Sql
    Bonjour à tous,
    Voila, j'ai deux scripts SQL sur un serveur (et mon script Shell y sera uploader) et del_appels_nuls.sql permet de sauvegarder dans une table appels_2007XX01nul et de supprimer les appels de montants nuls dans une table indiquée à cet effet par ex la table appels_2007XX01 ou XX répresente le mois, et del_dbl.sql permêt de sauvegarder dans une autre table appels_2007XX01dbl et de supprimer les doublons de la table principale appels_2007XX01.
    Chaque mois, je dois mêttre à jour ces deux scripts manuellement avec l'utilitaire vi puisque le nom de la table principale change tous les mois.
    J'aimerai pourvoir élaborer un script SHELL, qui me permettra de faire en sorte qu'à chaque début du mois que le nom des tables dans les deux scripts puissent être incrémenter.
    Si quelqu'un a une idée, elle est la bienvenue.
    Meric d'avance pour l'aide

  2. #2
    Membre éclairé Avatar de _shuriken_
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2006
    Messages : 543
    Par défaut
    Voila, grâce à la precieuse aide d'un ami, j'ai pu resoudre le problème, voici le script :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #!/usr/bin/ksh
    #récupération de la date à partir du fichier. Le fichier doit avoir --call_ika20070701 à sa première ligne
    #on extrait 200707
    	DATE_ACTUELLE=$(head -n1 del_dbl_save.sql|cut -b 11-16)
     
    	MOIS_ACTUEL=$(echo $DATE_ACTUELLE|cut -b 5-6)
    	ANNEE_ACTUELLE=$(echo $DATE_ACTUELLE|cut -b 1-4)
     
    #passage d'année, traitement spécial
     
    	if [ "$MOIS_ACTUEL" -eq 12 ]; then
        		MOIS_SUIVANT="01"
        		ANNEE_SUIVANTE=$(($ANNEE_ACTUELLE+1))
    	else #passage d'un mois à un autre normal
     
    #petit fix pour conserver le 0 devant les mois inférieurs à 10
     
    	if [ "$MOIS_ACTUEL" -le 8 ]; then
           	 MOIS_SUIVANT="0"$(($MOIS_ACTUEL+1))
        	else
           	 MOIS_SUIVANT=$(($MOIS_ACTUEL+1))
        fi
        ANNEE_SUIVANTE=$ANNEE_ACTUELLE
    fi
    	DATE_ACTUELLE=$ANNEE_ACTUELLE$MOIS_ACTUEL
    	DATE_SUIVANTE=$ANNEE_SUIVANTE$MOIS_SUIVANT
     
    	echo "La date actuelle est $DATE_ACTUELLE"
    	echo "La date du mois de facturation est $DATE_SUIVANTE"
     
    #modification du fichier
     
    	sed "s/call_ika$DATE_ACTUELLE/call_ika$DATE_SUIVANTE/g" del_dbl_save.sql > del_dbl_save2.sql
     
    #déplacement vers le fichier (déplacement => suppression automatique de del_dbl_save2.sql)
     
    	mv -f del_dbl_save2.sql del_dbl_save.sql
     
    if [ $? -eq 0 ]; then
     
    	echo "Modification sur del_dbl_save.sql effectuée avec succès"
    else
        echo "ERREUR : la modification sur del_dbl_save.sql n'a pas eu lieu. sed a retourné $?"
    fi
     
    #modification du fichier
     
    	sed "s/call_ika$DATE_ACTUELLE/call_ika$DATE_SUIVANTE/g" del_appels_nuls_save.sql > del_appels_nuls_save2.sql
     
    #déplacement vers le fichier (déplacement => suppression automatique de del_appels_nuls_save.sql)
     
    	mv -f del_appels_nuls_save2.sql del_appels_nuls_save.sql
     
    if [ $? -eq 0 ]; then
     
        	echo "Modification sur del_appels_nuls_save.sql effectuée avec succès"
    else
     
    	echo "ERREUR : la modification sur del_appels_nuls_save.sql n'a pas eu lieu. sed a retourné $?"
    fi
    merci à mik9241

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération automatique de scripts SQL
    Par ulmeen dans le forum Administration
    Réponses: 1
    Dernier message: 18/11/2013, 18h47
  2. Réponses: 0
    Dernier message: 29/06/2009, 09h39
  3. lancement script automatique via SQL*Plus
    Par detonyle dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 06/08/2008, 12h40
  4. Génération automatique de script SQL
    Par Prjprj dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/11/2007, 15h35
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo