Open棟梁 wiki
SQLをXMLで修飾することにより、文字列連結処理を実装すること無くSQLを動的SQL化できます。
パラメタ設定だけで動的なパラメタライズド・クエリを実行でき、
開発者は、複雑な文字列連結処理の制御から解放されます。
<?xml version="1.0"?>
<ROOT>
SELECT * FROM XXX
<WHERE>
WHERE
<LIST>YYY IN (@p1)</LIST>
<IF>AND ZZZ = @p2<ELSE>IS NULL</ELSE></IF>
</WHERE>
<PARAM>
p1, Int32, 1, 2<DIV/>
p2, String, xxxxxxxxxx
</PARAM>
</ROOT>
また、XMLでの記述が不要な静的パラメタライズド・クエリもサポートします。
SELECT * FROM Employees WHERE FirstName=@FN AND LastName=@LN1 AND EmployeeID IN (SELECT EmployeeID FROM Employees WHERE LastName=@LN2) AND ReportsTo IN ( @P1 , @P2 ) ORDER BY %COLUMN% %SEQUENCE% /*PARAM* FN, String, Nancy *PARAM*/ /*PARAM* LN1, String, Davolio *PARAM*/ /*PARAM* LN2, String, Davolio *PARAM*/ /*PARAM* P1, String, 2 *PARAM*/ /*PARAM* P2, String, 5 *PARAM*/ /*PARAM* COLUMN, EmployeeID *PARAM*/ /*PARAM* SEQUENCE, DESC *PARAM*/