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

SQL Firebird Discussion :

Requête de Mise a jour complexe


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 718
    Par défaut Requête de Mise a jour complexe
    Bonjour a tous

    j'ai une table ou j'ai plusieurs chaines de caractères représentant l’accès a des images voici un extrait :
    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 001.jpg
    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 002.jpg
    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 03.jpg
    C:\EVOLIS\PHOTOS\FOTO PATRON ASSI 23 08 11\Photo 007.jpg
    D:\DOSSIER \VAGUE 2\FOTO FEKESSE 04-08-10\Photo 005.jpg
    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 006.jpg
    Actuellement voici ce que je fais pour prendre le contenu d'un champ code pour le remplacer par le nom de la photo:
    1/ J'Extrait de ma base vers un fichier Excel le code de la photo et le chemin de la photo.
    2/ Je récupère par programmation le nom du fichier contenu dans le chemin que je renomme avec le code.
    3/je créer un script update que j’exécute sur ma base de donnée.
    donc par exemple pour :
    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 001.jpg
    Si j'ai le code=x25846 alors après ma mise a jour je dois avoir :

    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\x25846.jpg
    très fastidieux !

    je cherche donc à le faire directement dans la base à partir d'une requête SQL
    La difficulté ici est de récupérer le nom du fichier contenu dans le chemin a cause du caractère variable de ce nom de fichier.
    j'ai donc besoin d'aide.

    merci a tous

  2. #2
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 718
    Par défaut
    je suis entrain de tenter le coup avec une PS, je posterai le code si jamais ça va

  3. #3
    Membre chevronné Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Par défaut
    Les UDF tu en as pensé?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 718
    Par défaut
    j'avoue n'avoir pas penser aux UDF parce que étant moins documenté sur le sujet.
    mon soucis actuellement est de trouver un moyen de récupérer le nom du fichier, en utilisant une requête SQL, pour le reste on pourra se débrouiller !
    De :
    D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 001.jpg
    Obténir:
    Photo 001.jpg
    En sachant que la taille peut varier
    pffff !
    je vais faire le tour des fonctions de traitement de chaine de firebird

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 718
    Par défaut
    j'ai passé en revu toutes fonctions Fib 2.5
    http://www.firebirdsql.org/refdocs/l...5-intfunc.html
    Mais pas eu d'issu je vais voir du coté des UDFs.
    je dois encore chercher comment le faire avec windev ! bref je continu de chercher.

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> select reverse(left(reverse('D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 001.jpg'),position('\' IN reverse('D:\DOSSIER\VAGUE 2\FOTO FEKESSE 04-08-10\Photo 001.jpg'))-1)) from rdb$database;
     
    REVERSE                                                
    ====================================================== 
    Photo 001.jpg

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

Discussions similaires

  1. syntaxe de requête de mise a jour
    Par devalender dans le forum SQL
    Réponses: 5
    Dernier message: 30/01/2012, 08h27
  2. PL/SQL mise a jour complexe
    Par pierre2008 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 04/10/2011, 18h10
  3. Requête de mise a jour qui ne fonctionne pas
    Par niamo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/06/2010, 18h50
  4. requéte de mise a jour
    Par Lebleu dans le forum JDBC
    Réponses: 2
    Dernier message: 30/03/2008, 13h49
  5. [ORACLE 9] Mise à jour complexe ?
    Par Matzke.claudio dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/11/2006, 11h58

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