2010-11-16 4 views
3

J'ai une question à propos du dans le type de paramètre d'une procédure stockée. Normalement, la définition d'un paramètre ressemblera à ceci:Procédure stockée Paramètre Type

in param_test VARCHAR(100) 

Savez-vous si je peux définir un paramètre comme celui-ci ?:

in param_test table.column%type 

De cette façon, le paramètre sera du même type que la colonne d'une table spécifique. Donc, si le type de colonne passe de varchar (100) à varchar (250), je n'ai pas besoin de changer le type de paramètre dans la procédure stockée.

Je sais que c'est possible dans Oracle, mais je ne sais pas si c'est en MySQL.

Merci beaucoup pour votre temps et votre aide.

Cordialement.

Répondre

4

Cette syntaxe n'est pas supportée par MySQL. Vous devez déclarer explicitement le type de données pour un paramètre dans un programme stocké.

Si vous voulez vous protéger des futurs changements à la longueur maximale d'une colonne varchar, vous pouvez simplement utiliser le TEXT type de données pour le paramètre,

-1

Comment passer la valeur du paramètre à la base de données de type text .. J'utilise ce code mysql_CommandLtp.Parameters.Add ("@ prmName", MySqlDbType.Text); mysql_CommandLtp.Parameters ["@ prmName"]. Value = prmName.ToString(). Trim();

+0

L'OP a demandé une solution dans MySQL, pas dans un langage de programmation. –

Questions connexes