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

PHP & Base de données Discussion :

Créer une variable avec plusieurs champs


Sujet :

PHP & Base de données

  1. #21
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par ascito Voir le message
    Bon sinon tu peu aussi séparer la colonne code_client en 2 :

    code_client_groupe ( int (3) )
    code_client_id ( int (3) UNSIGNED ZEROFIL auto_increment)

    comme cela quand tu insère ca donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	$cp = 38;
    	$denomination = 3;
    	//$nb_min = 100;
    	//$nb_max = 999;
    	$email = 'test@mondomaine.fr';
    	$code_client_groupe = $denomination.$cp;
    	$code_client_id ='';
    	mysql_query("INSERT INTO arc_membres   VALUES ('$email' , '$code_client_groupe', '$code_client_id' ) ") or die(mysql_error());
    Je peux aussi faire sa oui

    De toute façon l'id actuelle dans ma table ne me sert à rien,

    L'idéal, on va dire mon code_client (en général l'id) on dis que c'est la clé primaire,

    Imaginons ma table est faite comme cela :

    code_client - AUTO_INCREMENT - INT11
    email
    etc...

    à chaque enregistrement un code client est générer mais est t'il possible en prenant la solution la plus simple de mettre donc le cp + la dénomination a chaque insertion devant l'id genrer, 1-2-3-4 etc...

    Merci à vous deux !

  2. #22
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 11
    Points
    11
    Par défaut
    rawsrc =>
    Apperemment c'est bon !

    FUNCTION f_id_new already exists

    J'ai exécuté sa via une page PHP,
    comment je vérifie que la fonction est bien implanter dans le SQL ?

  3. #23
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Brian35 Voir le message
    JDe toute façon l'id actuelle dans ma table ne me sert à rien,

    L'idéal, on va dire mon code_client (en général l'id) on dis que c'est la clé primaire
    Ce n'est plus le même besoin mais bon...
    Y a carrément plus de besoin

  4. #24
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Brian35 Voir le message
    J'ai exécuté sa via une page PHP,
    comment je vérifie que la fonction est bien implanter dans le SQL ?
    comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // récupération d'un id autonum absolument unique
    $sql    = 'SELECT f_id_new()';
    $qry    = mysql_query($sql);
    $new_id = mysql_result($qry, 0);
    echo $new_id;

  5. #25
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut ET JE VIENS DE M’APERCEVOIR QUE CE QUE DIT NE FONCTIONNE PAS PAR GROUPE MAIS PAR NOMBRE D'UTILISATEUR TOTAL
    pour finir avec la solution des colonnes séparées : en prenant cette solution tu "range" mieux les choses de mon sens, cad tu peu par exemple sortir des statistiques sur code_client_groupe = 338

    Bon faut juste gérer le nombre max d'util par groupe, par exemple tu prévois 1000 utilisateur code_client_id ( int (4) ....)

    et quand tu cherche le code d'un client "qui est toujours unique" ( à moins que auto_increment ne fonction pas mais la faudrait m'expliquer)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT  CONCAT(code_client_groupe, code_client_id ) as code_client from matable
    La solution de rawsrc est tout de même super intéressante

  6. #26
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut Quand même une altérnative
    C'est bon j'en ai trouvé une qui fonctionne

    Structure de la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE IF NOT EXISTS `test2` (
      `email` varchar(100) NOT NULL,
      `code_client_groupe` int(3) NOT NULL,
      `code_client_id` int(3) unsigned zerofill NOT NULL DEFAULT '000',
      `divers` varchar(100) NOT NULL,
      KEY `code_client_groupe` (`code_client_groupe`)
    )
    la requête pour inserer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $cp = 38;
    $denomination = 3;
    $email = 'test@mondomaine.fr';
    $groupe = $denomination.$cp;
    $query = "INSERT INTO test2 (email ,code_client_groupe ,code_client_id ,divers)
    SELECT  '$email', $groupe, MAX(code_client_id)+1 , 'some string etc.'
    FROM   test2 
    WHERE  code_client_groupe = $groupe ";

    la requête pour récuperer toutes les codes clients
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  CONCAT(code_client_groupe, code_client_id ) as code_client from matable

  7. #27
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Allez, suite à la remarque du sieur acito, voici une version qui génère tes codes clients avec un compteur différent pour chaque combinaison groupe/code postal.
    Là tu devrais normalement être tranquille un petit bout de temps.
    Table t_code_client :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `t_code_client` (
      `id_groupe` tinyint(2) unsigned NOT NULL,
      `cp` tinyint(2) unsigned NOT NULL,
      `id` tinyint(3) unsigned NOT NULL,
      UNIQUE KEY `t_serial_idx1` (`id_groupe`,`cp`,`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0;

    Fonction f_new_code_client :
    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
    CREATE FUNCTION `f_new_code_client`(
            `p_groupe` TINYINT(2) UNSIGNED,
            `p_cp` TINYINT(2) UNSIGNED
        )
        RETURNS VARCHAR(7) CHARACTER SET utf8
        NOT DETERMINISTIC
        CONTAINS SQL
        SQL SECURITY DEFINER
        COMMENT ''
    BEGIN
     
       DECLARE v_id INTEGER UNSIGNED DEFAULT 0;
     
       SELECT MAX(`t_code_client`.`id`) INTO v_id 
         FROM `t_code_client` 
        WHERE `t_code_client`.`id_groupe` = p_groupe 
          AND `t_code_client`.`cp` = p_cp;
     
       SET v_id = IFNULL(v_id, 0) + 1;
     
       IF (v_id > 999) THEN
          RETURN -1;
       ELSE
          INSERT INTO `t_code_client`(id_groupe, cp, id)
               VALUES (p_groupe, p_cp, v_id);
     
          RETURN CONCAT(LPAD(p_groupe, 2, '0'), LPAD(p_cp, 2, '0'), LPAD(v_id, 3, '0'));
       END IF;
     
    END;
    et le code PHP qui va avec tout ça :
    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
    <?php
     
    $groupe = 3;
    $cp     = 37;
    $email  = 'test@mondomaine.fr';
     
    // récupération d'un code client unique
    $sql         = "SELECT f_new_code_client($groupe, $cp)";
    $qry         = mysql_query($sql);
    $code_client = mysql_result($qry, 0);
     
    if ($code_client == -1) {
       echo 'Codes clients épuisés';
    }
    else {
       $sql = "INSERT INTO arc_membres VALUES ('$email' , '$code_client')";
       $exec =  mysql_query($sql) or die();
       echo 'code client : '.$code_client;
    }
     
    ?>
    Quelques tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    - groupe = 1, cp = 1  => code = '0101001'
    - groupe = 7, cp = 71 => code = '0771001'
    - groupe = 1, cp = 1  => code = '0101002'

  8. #28
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Allez, suite à la remarque du sieur acito, voici une version qui génère tes codes clients avec un compteur différent pour chaque combinaison groupe/code postal.
    Là tu devrais normalement être tranquille un petit bout de temps.
    Table t_code_client :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `t_code_client` (
      `id_groupe` tinyint(2) unsigned NOT NULL,
      `cp` tinyint(2) unsigned NOT NULL,
      `id` tinyint(3) unsigned NOT NULL,
      UNIQUE KEY `t_serial_idx1` (`id_groupe`,`cp`,`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0;

    Fonction f_new_code_client :
    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
    CREATE FUNCTION `f_new_code_client`(
            `p_groupe` TINYINT(2) UNSIGNED,
            `p_cp` TINYINT(2) UNSIGNED
        )
        RETURNS VARCHAR(7) CHARACTER SET utf8
        NOT DETERMINISTIC
        CONTAINS SQL
        SQL SECURITY DEFINER
        COMMENT ''
    BEGIN
     
       DECLARE v_id INTEGER UNSIGNED DEFAULT 0;
     
       SELECT MAX(`t_code_client`.`id`) INTO v_id 
         FROM `t_code_client` 
        WHERE `t_code_client`.`id_groupe` = p_groupe 
          AND `t_code_client`.`cp` = p_cp;
     
       SET v_id = IFNULL(v_id, 0) + 1;
     
       IF (v_id > 999) THEN
          RETURN -1;
       ELSE
          INSERT INTO `t_code_client`(id_groupe, cp, id)
               VALUES (p_groupe, p_cp, v_id);
     
          RETURN CONCAT(LPAD(p_groupe, 2, '0'), LPAD(p_cp, 2, '0'), LPAD(v_id, 3, '0'));
       END IF;
     
    END;
    et le code PHP qui va avec tout ça :
    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
    <?php
     
    $groupe = 3;
    $cp     = 37;
    $email  = 'test@mondomaine.fr';
     
    // récupération d'un code client unique
    $sql         = "SELECT f_new_code_client($groupe, $cp)";
    $qry         = mysql_query($sql);
    $code_client = mysql_result($qry, 0);
     
    if ($code_client == -1) {
       echo 'Codes clients épuisés';
    }
    else {
       $sql = "INSERT INTO arc_membres VALUES ('$email' , '$code_client')";
       $exec =  mysql_query($sql) or die();
       echo 'code client : '.$code_client;
    }
     
    ?>
    Quelques tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    - groupe = 1, cp = 1  => code = '0101001'
    - groupe = 7, cp = 71 => code = '0771001'
    - groupe = 1, cp = 1  => code = '0101002'
    Merci, vraiment c'est EXACTEMENT ce que je voulais !

    Ou presque ! xD

    Au niveau de la formulation du CP (on y est presque) par contre les chiffres derrières (id) no soucy !

    Par contre j'aurais voulu que le code client commence par 1 ou 7 et non 01 ou 07 en fonction du groupe

    En gros :

    Prenons tout les exemples possible :

    Groupe => 7 , CP : 35

    On aura : 735 + dernière id (peu importe qu'il fasse 3 chiffre c'est plus simple je pense comme sa le nombre de clients est illimité à l'inscription sinon on va être emmerder ^^)

    Groupe => 7, CP : 10

    On aura 710 + dernière id

    Groupe => 7 , CP : 01

    On aura 701 + dernière id (et non 71 + dernière id)

    Les 3 premiers chiffre cu code client concerne la compta je sais que je suis légèrement emmerdant mais les besoins sont les suivants !

    Merci à toi

  9. #29
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 11
    Points
    11
    Par défaut
    En faisant cela, en reprenant ce que tu avais fais (avant ton post), j'ai ce que je veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql    = 'SELECT f_id_new()';
    $qry    = mysql_query($sql);
    $new_id = mysql_result($qry, 0);
     
    // Mise en place du format du code client
     
    $code_client = $denomination.$code_postal_ctrl.sprintf($new_id);
    AU LIEU DE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql    = 'SELECT f_id_new()';
    $qry    = mysql_query($sql);
    $new_id = mysql_result($qry, 0);
     
    // Mise en place du format du code client
     
     $code_client = $denomination.$code_postal_ctrl.sprintf('%03d', $new_id);
    En testant : ma table va jusqu'à l'id 22, exemple :

    10124

    Donc 1 => groupe, 01 => cp (en prenant un cp exemple 01400) puis 24

    Du coup en l’occurrence mon code client s’agrandira bien en fonction du nombre d'enregistrement, à savoir

    10124

    Mettons j'ai 1200 enregistrement, alors mon code client se serait affiché comme sa ?

    1011200 ?

    Merci

  10. #30
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Citation Envoyé par Brian35 Voir le message
    Du coup en l’occurrence mon code client s’agrandira bien en fonction du nombre d'enregistrement, à savoir

    10124

    Mettons j'ai 1200 enregistrement, alors mon code client se serait affiché comme sa ?

    1011200 ?
    Non il ne s'agrandira pas. il est plafonné à 999. C'était comme ça que tu as présenté la problématique (id su 3 digits). Si c'est autre chose, il faut être précis.
    Par ailleurs, vu qu'on a décidé de déporter la génération du code client dans une fonction stockée, tu ne dois pas tripatouiller le code client renvoyé par la fonction avec du PHP. Tu dois juste adapter cette fonction à tes nouveaux besoins.

    Donc pour que cela soit comme tu le souhaites, il faut modifier tout ça ainsi :
    On modifie les limites dans la table :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `t_code_client` (
      `id_groupe` tinyint(1) unsigned NOT NULL,
      `cp` tinyint(2) unsigned NOT NULL,
      `id` smallint(5) unsigned NOT NULL,
      UNIQUE KEY `t_code_client_idx1` (`id_groupe`,`cp`,`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0;

    La fonction :
    Code sql : 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
    CREATE FUNCTION `f_new_code_client`(
            `p_groupe` TINYINT(1) UNSIGNED,
            `p_cp` TINYINT(2) UNSIGNED
        )
        RETURNS INTEGER(11) UNSIGNED
        NOT DETERMINISTIC
        CONTAINS SQL
        SQL SECURITY DEFINER
        COMMENT ''
    BEGIN
     
       DECLARE v_id INTEGER UNSIGNED DEFAULT 0;
     
       SELECT MAX(`t_code_client`.`id`) + 1 INTO v_id
         FROM `t_code_client` 
        WHERE `t_code_client`.`id_groupe` = p_groupe 
          AND `t_code_client`.`cp` = p_cp;
     
       SET v_id = IFNULL(v_id, 0) + 1;
     
       -- 65535 correspond à la limite max de SMALLINT UNSIGNED
       IF (v_id > 65535) THEN
          RETURN -1;
       ELSE
          INSERT INTO `t_code_client`(id_groupe, cp, id)
               VALUES (p_groupe, p_cp, v_id);
     
          RETURN CONCAT(p_groupe, LPAD(p_cp, 2, '0'), v_id);
       END IF;
     
    END;
    Là tu pourras avoir jusqu'à 65 535 clients par combinaison groupe/code postal.

  11. #31
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 11
    Points
    11
    Par défaut
    D'accord merci,

    Je garde le même code PHP précédent ?

  12. #32
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Brian35 Voir le message
    D'accord merci,

    Je garde le même code PHP précédent ?
    Oui, relis mon dernier message :
    Par ailleurs, vu qu'on a décidé de déporter la génération du code client dans une fonction stockée, tu ne dois pas tripatouiller le code client renvoyé par la fonction avec du PHP.

  13. #33
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 52
    Points : 11
    Points
    11
    Par défaut
    Je n'ai pas réussis à ajouter la fonction,

    Toujours un soucis avec PhpMyadmin,

    CREATE FUNCTION `f_new_code_client` (
    `p_groupe` TINYINT( 1 ) UNSIGNED,
    `p_cp` TINYINT( 2 ) UNSIGNED
    ) RETURNS INTEGER( 11 ) UNSIGNED NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN DECLARE v_id INTEGER UNSIGNED DEFAULT 0;

    MySQL a répondu: Documentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 12

    thanks !

  14. #34
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    ça doit être un problème de DELIMITER
    Et comme ça, ça gaze ?
    Code sql : 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
    DELIMITER $$
     
    CREATE FUNCTION `f_new_code_client`(
            `p_groupe` TINYINT(1) UNSIGNED,
            `p_cp` TINYINT(2) UNSIGNED
        )
        RETURNS INTEGER(11) UNSIGNED
        NOT DETERMINISTIC
        CONTAINS SQL
        SQL SECURITY DEFINER
        COMMENT ''
    BEGIN
     
       DECLARE v_id INTEGER UNSIGNED DEFAULT 0;
     
       SELECT MAX(`t_code_client`.`id`) + 1 INTO v_id
         FROM `t_code_client` 
        WHERE `t_code_client`.`id_groupe` = p_groupe 
          AND `t_code_client`.`cp` = p_cp;
     
       SET v_id = IFNULL(v_id, 0) + 1;
     
       -- 65535 correspond à la limite max de SMALLINT UNSIGNED
       IF (v_id > 65535) THEN
          RETURN -1;
       ELSE
          INSERT INTO `t_code_client`(id_groupe, cp, id)
               VALUES (p_groupe, p_cp, v_id);
     
          RETURN CONCAT(p_groupe, LPAD(p_cp, 2, '0'), v_id);
       END IF;
     
    END$$
     
    DELIMITER ;

Discussions similaires

  1. Créer une expression avec un champ existant
    Par kissmytoe dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 16/06/2009, 23h59
  2. créer une fonction avec plusieurs paramètres
    Par SHERPAE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/01/2009, 17h41
  3. Pb Count dans une requete avec plusieurs champ retournés
    Par maxos75 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 13/06/2008, 14h01
  4. Créer une vue avec un champ Blob
    Par Taoueret dans le forum SQL
    Réponses: 4
    Dernier message: 16/05/2008, 16h18
  5. Impossible de créer une vue avec un champ spatial
    Par M Roncheau dans le forum SQL
    Réponses: 2
    Dernier message: 24/08/2007, 09h11

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