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*/