过去可能有人问过这个问题,但我找不到合适的答案。我正在寻找的是一种从 sql 查询中提取参数的方法,如下所示。查询将始终是一个 EXEC 语句,后跟查询名称和可能的参数。
这是我可能收到的示例
EXEC [dbo].[myProcedure] @Param1
这也可以如下
EXEC [dbo].[myProcedure] @Param1, @Param2, @Param3
这些是输入将采用的唯一查询类型。至于我为什么要这样做,那是另一个问题,我已经准备好沿着这条路走下去了。
我正在寻找的是能够获取上述字符串并生成一个值数组,例如
['@Param1','@Param2','@Param3',....]
我最初尝试使用简单的 while 语句进行解析,但我似乎在那里遇到了很大的问题。
我希望这个问题是有道理的,
干杯,
尼科
[编辑]
使用以下语句对此进行排序
function eParams(e) {
var i = e.indexOf('@');
if (i <= 0)
return;
e = e.substring(i);
var p = e.split(',');
var eList = [];
var s = '';
for (var i = 0, j = p.length - 1; i <= j; i++) {
var sP = p[i].trim();
if (sP.indexOf('@') < 0)
continue;
eList.push(sP);
}
}