DEV-ON에서 SQL 배열처리(iterate)
1. MSSQL PIVOT의 파라미터는 대괄호로 묶어서 전달됨.
[검색어]
2. 정적쿼리
<statement name="empList">
<![CDATA[
SELECT * FROM (
SELECT
empno,
age,
dept
FROM
EMP
WHERE
1=1
) AS result
PIVOT (
SUM(age)
FOR
dept IN ([A001], [A002], [A003])
) as pivot_result
]]>
</statement>
3. 동적쿼리
파라미터를 자바단에서 조작(대괄호를 미리 넣어줌)
List<String> list = new ArrayList<String>();
list.add("[A001]");
list.add("[A002]");
list.add("[A003]");
LData data = new LData();
data.set("deptList", list);
LCommonDao dao = new LCommonDao("/empList", data, "DS");
LMultiData result = dao.executeQuery();
<statement name="empList">
<![CDATA[
SELECT * FROM (
SELECT
empno,
age,
dept
FROM
EMP
WHERE
1=1
) AS result
PIVOT (
SUM(age)
FOR
dept IN {#1}
) as pivot_result
]]>
<append condition="${deptList}.NOTEMPTY" id="{#1}" iterate="${deptList}" conjunction=",">
${deptList}
</append>
</statement>
'DEV-ON' 카테고리의 다른 글
Dev-on 프레임워크 프로시저 xml return param (0) | 2022.11.04 |
---|---|
DEV-ON IN 쿼리 방법 (0) | 2022.09.17 |