2010-05-17 10 views
1

Je suis en train de transférer des procédures stockées d'Informix à MySQL, mais j'ai deux procédures stockées sur Informix qui ont le même nom et des paramètres différents.polymorphisme alternative pour les procédures stockées MySQL

En MySQL, je ne peux pas créer deux SP avec le même nom, et je ne peux pas non plus créer un SP avec des valeurs par défaut dans les paramètres. Alors, est-ce que quelqu'un sait quelque chose du hackery ou de la magie noire qui peut m'aider à résoudre ce problème?

merci.

Répondre

2

Nous avons eu le même problème en transférant une application crunching entre informix et mysql.

Le problème a été « résolu » en ajoutant le paramètre compte au nom de la procédure ...

INFORMIX      MySQL 
------------------------- --------------------------- 
min(int a, int b)   => min2(int a, int b) 
min(int a, int b, int c) => min3(int a, int b, int c) 

Cela a fonctionné parce que l'application d'appel (Scripts Perl) a toujours su exactement combien de paramètres, il y avait ..

+0

J'essayais d'éviter d'avoir à changer le code dans .net (où j'appelle les procédures stockées). Si je ne peux pas trouver un moyen, je suppose que je n'ai pas le choix. – sergiogx

+0

Je sais de quoi vous parlez .. ma pensée exactement ... mais nous devions "trouver" une solution .. – lexu