2010-05-17 71 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