T-SQL字符串模板变量替换

时间:2015-07-17 10:29:39

标签: sql-server tsql pattern-matching

好的,我有一个包含这样的模板数据的表

TABLE TemplateFormula

Formula
--------------------
[val1]+[val2]+[val1]
[val3]/[val6]+[val1]
...

和一个带变量的表

TABLE TemplateData

Variable              Value
-----------           --------------
var1                  valueone
var2                  twovalue
var3                  othervalue
...

将值映射到模板的最佳方法是什么?

我的解决方案是创建一个游标来遍历所有变量并替换模板中的值。 例如

DECLARE CURSOR c
FOR SELECT Variable, Value FROM TemplateData
...
UPDATE TemplateFormula
SET Formula = REPLACE(Formula, '[' + @Variable + ']', @Value)
WHERE Formula like '%\[' + @Variable + '\]%' ESCAPE '\'

但那有点慢(因为可能有很多变量,在我的情况下高达10k变量),有没有更快的方法?

0 个答案:

没有答案