これは過去に尋ねられたかもしれませんが、適切な答えが見つかりませんでした。私が探しているのは、以下のような 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);
}
}