我希望在显示连锁货币时创建更优化的代码。基本上,我只是想将一系列货币代码转换为列中各自的(描述性)值。
以下是示例:
'USD SGD PHP' --> 'US Dollar, Singapore Dollar, Philippine Peso'
我希望你能得到我当前代码的流程:
创建标量函数(dbo.GetCurrencyDesc_fn)
,返回接受货币代码作为参数的货币描述。 '...where currency_code = @code'
返回货币说明。
创建了另一个标量函数(dbo.GetMultiCurrencyDesc_fn)
,它在循环中解析货币代码字段('USD SGD PHP')
,然后每次调用第一个函数来获取它们各自的描述。然后,结果将以字符串... 'SELECT @returnList = ISNULL(@returnList,'') + ', ' + dbo.GetCurrencyDesc_fn(@Code) <--- inside the loop.
以下是我打算如何使用该功能:
SELECT a.column1, a.column2, b.column3, c.column4,
dbo.GetMultiCurrencyDesc_fn(a.currencyCodes)
FROM table1 a LEFT JOIN table2 b ON a.code1 = b.code1
LEFT JOIN table3 c ON a.code2 = c.code2 WHERE a.code3 = 100;
您认为我如何改进此代码?在我看来,由于重复查询,我的第一个函数会减慢进程。
有没有办法使用类似的概念来避免这种情况。顺便说一下,我不需要编写实际的代码,因为这个概念正是实际代码的编写方式。
即使是高级别的回复也是受欢迎的。只是给我一个主意。拥有实际代码当然会很棒! :)
提前致谢。