0

指定されたパラメーターを超える測定値に基づいて結果を選択しようとしている手順があります。ただし、大なりを以下に変更できるようにしたいと考えています。

パラメータを > に置き換えようとしましたが、次のエラーが表示されます: sql syntax error: "PARAM_OP" 付近の不正な構文 (ここで、PARAM_OP は、演算子の代わりに使用する必要があるパラメータの名前です。

どんなアイデアでも大歓迎です。

以下のコード:

var_out = 
SELECT
    "Col1" AS "Col1",
    "Col2" AS "Col2",
    "Col3" AS "Col3",
    SUM(Col4) AS "Col4"

FROM <schema>.<view>
WHERE "Col2" = PARAM_1
GROUP BY Col1, Col2, Col3
HAVING SUM(Col4) > PARAM_2
ORDER BY SUM(Col4);
4

1 に答える 1

0

みたいなことを想像しています。

DECLARE @Code VARCHAR(MAX)
SELECT @Code = 
'
var_out = 
SELECT
    "Col1" AS "Col1",
    "Col2" AS "Col2",
    "Col3" AS "Col3",
    SUM(Col4) AS "Col4"
FROM <schema>.<view>
WHERE "Col2" = ' + PARAM_1 + 
'GROUP BY Col1, Col2, Col3
HAVING SUM(Col4) ' + PARAM_OP + ' ' + PARAM_2 
+ 'ORDER BY SUM(Col4);'


EXEC sp_executesql @Code

したがって、実行したい SQL に似た文字列を作成し、RDBMS が提供する手段を使用して SQL 文字列を実行します。MSSQL では、sp_executesql になります。

于 2012-07-31T14:00:23.570 に答える