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 Procédural MySQL Discussion :

mysql Procedures stockées


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1
    Par défaut mysql Procedures stockées
    Bonjours,
    je suis nouveau dans les procedures stockées et j'ais volus creer une procedure simple de mis a jours de quelques champs dans une table.
    le probleme que le nombre d'enregistrement de cursor n'est pas assez grand dans l'ordre de 4168 enregistrements mais le temps d'execution de procedure est tres longs plus que 2heures voici le code et svp dit mois ou est le probleme. d'autres procedures fonctionnent tres bien pourtant plus compliques et contennent plus d'enregistrements a manipulées.
    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
     
    BEGIN
    DECLARE variables typvariables;
    DECLARE MAGDt CURSOR FOR
    SELECT distinct feld2,feld14,feld33 from magd where not(feld14 is null) and feld33='ks';
    DECLARE MAGDk CURSOR FOR
    SELECT distinct feld2,feld14,feld33 from magd where not(feld14 is null) and (feld33='ltg' or feld33='ckont' or feld33='edich');
    DECLARE COMPT CURSOR FOR SELECT COUNT(firmnr) from test;
    OPEN orderrs ;OPEN MAGDk;
    UPDATE `importdetail` SET `KontBez1`=NULL ;
    oopmagd:LOOP
    FETCH MAGDk into teil,des,typ;
    if typ='CKONT' then UPDATE ImportDetail set KontBez1=des where Kont1=teil;
    UPDATE ImportDetail set KontBez2=des where Kont2=teil;
    end if ;
    if typ='ltg' then
    UPDATE ImportDetail set BezeichLeitg=des where TeilNrLeitg=teil;
    end if ;
    if typ='edich' then
        UPDATE ImportDetail set BezZusatz1=des where Zusatz1=teil;
        UPDATE ImportDetail set BezZusatz1=des where Zusatz1=teil;
    end if;
    END LOOP loopmagd;CLOSE MAGDk;
    END

  2. #2
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut


    J'ai rajouté la balise code, merci d'éditer votre message pour le rendre plus lisible avec des espaces et des retours chariots .
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    J'ai juste vu cette horreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM test ;
    Si quelqu'un modifie un jour votre table en ajoutant un nouveau champ , votre requête ne marchera plus car le nombre de colonne retournée ne correspondra pas au nombre de variables qui suivent.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

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

Discussions similaires

  1. Procedure stockée sur mysql 5
    Par todier dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/04/2007, 23h35
  2. procedure stockée recursive MySQL
    Par brice01 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 26/04/2006, 13h03
  3. [MySQL 5.0] Procedure stockée & PHPMyAdmin 2.6.4
    Par koueletbak dans le forum Installation
    Réponses: 4
    Dernier message: 06/03/2006, 17h09
  4. [Palliatif] D2005 et Procedure stockée MySQL 5
    Par filouxera dans le forum Bases de données
    Réponses: 10
    Dernier message: 06/03/2006, 09h23
  5. probleme procedure stockée avec Mysql
    Par emna_bz dans le forum Installation
    Réponses: 2
    Dernier message: 01/02/2006, 16h26

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