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 :

Function avec le paramètre du nom de la colonne de la table


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Par défaut Function avec le paramètre du nom de la colonne de la table
    Bonsoir,

    J'aime avoir une funtion avec le nom de la colonne à sélectionner en paramétré, comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE FUNCTION fct_mvt_(vparam1 varchar(15), vcolumn varchar(30) ) returns boolean
    declare vval_col int;
    begin
         select vcolumn into vval_col from tb_table where (no_pret=vparam1); 
         Update tb_table2 set vcolumn=vval_col where (no_col=vparam1);
         set resultproc=true;
    	return resultproc;
    end
    vcolumn est de type integer

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Pour utiliser un nom de colonne passé en paramètre, il faut exécuter du SQL dynamique.
    Je ne suis pas certain que MySQL prenne en charge cette syntaxe.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre chevronné Avatar de isabelle.letrong
    Femme Profil pro
    Conseil - Consultante en systèmes d'information
    Inscrit en
    Juillet 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultante en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 109
    Par défaut
    Bonjour,

    Il n'est pas possible de faire cela dans une fonction stockée mais vous vous pouvez le faire dans une procédure stockée.
    Il convient alors d'utiliser les ordres conçus pour le SQL dynamique : PREPARE, EXECUTE, DEALLOCATE...

    La principale limitation d'une procédure par rapport à une fonction est que vous ne pouvez l'invoquer dans un ordre SQL (ex SELECT CALL myProcedure(Param1, param2) FROM .... est interdit).
    Par ailleurs, vous ne pourrez invoquer votre procédure stockée dans un trigger.

    Bien cordialement

Discussions similaires

  1. Paramétrer le nom d'une colonne
    Par Med_be dans le forum Débuter
    Réponses: 1
    Dernier message: 26/04/2011, 10h02
  2. SQL-Server changer le nom d'une colonne dans une table .
    Par silset dans le forum Développement
    Réponses: 2
    Dernier message: 31/10/2009, 23h34
  3. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  4. Modifier le nom d'une colonne d'une table existante
    Par fatati dans le forum Administration
    Réponses: 4
    Dernier message: 18/12/2006, 18h10
  5. [sql 2005]: changer le nom d'une colonne dans un table
    Par TheLittle dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2006, 15h29

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