2010-05-17 61 views
1

我将一些存储过程从Informix移植到MySQL,但我在Informix上有两个存储过程,它们具有相同的名称和不同的参数。多态性替代MySQL存储过程

在MySQL中,我无法创建两个具有相同名称的SP,也无法使用参数中的默认值创建SP。

那么,有人在那里知道任何骇客或黑魔法可能会帮助我解决这个问题吗?

谢谢。

回答

2

我们在从informix移植到mysql的数字处理应用程序时遇到同样的问题。

问题通过添加参数计算的程序名称“解决” ......

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) 

这工作,因为调用应用程序(的Perl脚本)总是知道到底有多少参数有..

+0

我试图避免必须更改.NET中的代码(我称之为存储过程)。如果我找不到方法,我想我别无选择。 – sergiogx 2010-05-17 19:29:45

+0

我知道你在说什么..我的想法正是......但我们必须'找到'解决方案.. – lexu 2010-05-17 21:36:16