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

Langage SQL Discussion :

Procédure stockée et date


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Procédure stockée et date
    Dans une procédure stockée, j'aimerais pouvoir indiquer dans le nom du fichier, le numéro de mois passé.

    @remotefile='/mesure/pqln01.dat',
    @newfile='\\nomserveur\ftp\pqln01.dat',

    J'ai essayé ceci mais ça ne fonctionne pas:
    @remotefile = ''/mesure/pqln' & (month(getdate()) -1) & '.dat'
    @newfile='\\nomserveur\ftp\pqln' & (month(getdate()) -1) & '.dat'

    Merci pour toute forme d'aide!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Salut,

    regarde Datepart, çà va t'aider.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Rép: Procédure stockée et date
    Bonjour,

    Effectivement, ceci me renvoi le numéro du mois..
    SELECT DATEPART(month, GETDATE()) - 1 (le mois antérieur)

    Mais je n'arrive pas à utiliser ce nombre dans le nom du fichier spécifié à ces deux valeurs suivantes.

    @remotefile='/mesure/pqln01.dat',
    @newfile='\\nomserveur\ftp\pqln01.dat',

    Merci!

  4. #4
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Hmmm, tu recolles les morceaux ?
    Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT 'TonFichier' || CAST(DATEPART(month, GETDATE()) - 1 AS VARCHAR(2)) || '.txt'
    FROM ...
    NOTE : || est l'opérateur de concaténation de la norme SQL, mais il n'est pas universel.
    (MySQL : CONCAT(...), SQL Serveur '+', ...)

    NOTE2 :
    DATEPART risque de te renvoyer 1 et non 01.
    Si tu es sous Oracle, TO_CHAR te donne des options formattages qui devraient régler ton problème.
    Sinon, tu peux caster séparément les dixaines et les unités :

    DATEPART(month, GETDATE()) - 1 MOD 10 te donne les unités
    (DATEPART(month, GETDATE()) - 1) / 10 te donne les dixaines (0 si inférieur à 10) (normalement, ça s'autocaste en integer)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     CAST(SELECT DATEPART(month, GETDATE()) - 1 MOD 10 AS CHAR(1) ||
    CAST((DATEPART(month, GETDATE()) - 1) / 10 AS CHAR(1)

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Rép: Procédure stockée et date
    Bonjour,

    J'y suis parvenu de la façon suivante...

    --Get the file and direct it to our local drive
    --vb Equivalent Get_File(sessionid, remotefile, newfile, failifexists, flagsandattr, flags, context) As Boolean

    --File download

    select @remotefile = '/mesure/pqln' + convert(varchar(2), datepart(month, dateadd(month, datediff(month, 0, getdate()) - 1, 0))) + '.dat'
    select @newfile = '\\devicename\ftp\pqln' + convert(varchar(2), datepart(month, dateadd(month, datediff(month, 0, getdate()) - 1, 0))) + '.dat'

    Exec @hr=sp_OAMethod @oPkg,Get_File,@getfile OUT,

    @sessionid=@Connected,
    @remotefile=@remotefile,
    @newfile=@newfile,
    @failifexists=0,
    @flagsandattr=0,
    @flags=1,
    @context=0

    Merci pour votre précieuse aide!

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

Discussions similaires

  1. Procédure stockées création dates de l'année
    Par brasco06 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/08/2009, 11h33
  2. Date comme parametre d'une procédure stockée
    Par Access Newbie dans le forum Access
    Réponses: 3
    Dernier message: 21/08/2006, 14h47
  3. Lancé une procédure stockée à une date précise
    Par Oberown dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2006, 17h23
  4. Réponses: 7
    Dernier message: 16/09/2005, 10h14
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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