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 :

un select dans une procedure stockée


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut un select dans une procedure stockée
    Bonjour à tout le monde

    je voulais faire une recherche dans la fonction avant d'insérer un nouveau enregistrement, je connais la syntaxe en postGreSql mais pour mySQL j'ai lu tous les facs mais j'ai pas trouvé.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE FUNCTION ajouter(numero varchar(20),nomcli varchar(20)) AS integer
     begin
        declare res integer;
      SELECT * FROM mabase WHERE num LIKE numero;
    IF NOT found then
      INSERT INTO mabase (num,nom)VALUES(numero,nomcli);
     res=1;
    else
    res=0;
    end IF;
    RETURN res;
     
    end
    //mais ca ne marche pas

    //je voudrai savoir si dois utilise le cursor ou non,
    Si Oui quelle serait la bonne syntaxe.
    Merci d'avance.

    --------------------------------------------------------------------------------
    Dernière modification par qi130 Hier à 11h49. Motif: Ajout des balises de code ( # )

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    Avec SELECT INTO et un COUNT ça devrait marcher (je ne peux pas le tester et je ne suis pas encore un spécialiste des SP sous MySQL ) :

    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
    CREATE FUNCTION ajouter(numero varchar(20),nomcli varchar(20)) RETURNS INTEGER 
     
    BEGIN
     
        DECLARE res INTEGER;
        DECLARE iCount INTEGER;
     
        SELECT COUNT(*)
        INTO iCount 
        FROM mabase 
        WHERE num LIKE numero;
     
        IF (iCount = 0) THEN
            INSERT INTO mabase (num,nom)VALUES(numero,nomcli);
            SET res = 1;
        ELSE
            SET res = 0;
        END IF;
     
        RETURN res;
     
    END;

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2007, 19h48
  2. Réponses: 6
    Dernier message: 24/09/2004, 13h10
  3. Réponses: 3
    Dernier message: 21/09/2004, 07h35
  4. Réponses: 6
    Dernier message: 05/08/2004, 13h15
  5. Probleme dans une procedure stockée
    Par malbaladejo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/07/2004, 14h08

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