템플릿 정보에서 사용되는 SQL은 도대체 무엇을 조회하기 위한 건가요?
- 작성자 :
- 김*오
- 작성일 :
- 2010-07-28 09:49:00
- 조회수 :
- 3,432
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
템플릿 조회를 하면 SqlMapClient에서 오류가 자주 발생했습니다.
현재 디비는 사이베이스를 사용하면서 order by 이부분에서 오류가 발생했습니다.
오류 메시지는 이렇습니다.
데이터 처리 중 오류가 발생하였습니다.
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [ZZZZZ]; error code [154]; --- The error occurred while applying a parameter map. --- Check the TemplateManageDAO.selectTemplateInfs-InlineParameterMap. --- Check the statement (query failed). --- Cause: com.sybase.jdbc4.jdbc.SybSQLException: An ORDER BY clause is not allowed in a derived table. ; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while applying a parameter map. --- Check the TemplateManageDAO.selectTemplateInfs-InlineParameterMap. --- Check the statement (query failed). --- Cause: com.sybase.jdbc4.jdbc.SybSQLException: An ORDER BY clause is not allowed in a derived table.
이렇게 나오는 데요. 사이베이스를 사용하니까 이런건 같은 데.
사용되는 SQL은
<![CDATA[
SELECT * FROM ( SELECT rownum rn, TB.* FROM (
SELECT
a.TMPLAT_ID, a.TMPLAT_NM, a.TMPLAT_SE_CODE, a.TMPLAT_COURS, a.USE_AT,
a.FRST_REGISTER_ID, a.FRST_REGISTER_PNTTM,
b.USER_NM AS FRST_REGISTER_NM, c.CODE_NM AS TMPLAT_SE_CODE_NM
FROM
COMTNTMPLATINFO a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.FRST_REGISTER_ID = b.UNIQ_ID
LEFT OUTER JOIN COMTCCMMNDETAILCODE c
ON a.TMPLAT_SE_CODE = c.CODE
WHERE
c.CODE_ID = 'COM005'
]]>
<isNotEmpty property="typeFlag">
AND a.TMPLAT_SE_CODE = #tmplatSeCode#
</isNotEmpty>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ a.TMPLAT_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ c.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY a.FRST_REGISTER_PNTTM DESC
) TB ) WHERE rn BETWEEN #firstIndex# + 1 AND #firstIndex# + #recordCountPerPage#
]]>
이렇습니다. 알수 없는 쿼리가 많아요..
무엇을 조회하기 위한 건지 알려주세요?
현재 디비는 사이베이스를 사용하면서 order by 이부분에서 오류가 발생했습니다.
오류 메시지는 이렇습니다.
데이터 처리 중 오류가 발생하였습니다.
SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [ZZZZZ]; error code [154]; --- The error occurred while applying a parameter map. --- Check the TemplateManageDAO.selectTemplateInfs-InlineParameterMap. --- Check the statement (query failed). --- Cause: com.sybase.jdbc4.jdbc.SybSQLException: An ORDER BY clause is not allowed in a derived table. ; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while applying a parameter map. --- Check the TemplateManageDAO.selectTemplateInfs-InlineParameterMap. --- Check the statement (query failed). --- Cause: com.sybase.jdbc4.jdbc.SybSQLException: An ORDER BY clause is not allowed in a derived table.
이렇게 나오는 데요. 사이베이스를 사용하니까 이런건 같은 데.
사용되는 SQL은
<![CDATA[
SELECT * FROM ( SELECT rownum rn, TB.* FROM (
SELECT
a.TMPLAT_ID, a.TMPLAT_NM, a.TMPLAT_SE_CODE, a.TMPLAT_COURS, a.USE_AT,
a.FRST_REGISTER_ID, a.FRST_REGISTER_PNTTM,
b.USER_NM AS FRST_REGISTER_NM, c.CODE_NM AS TMPLAT_SE_CODE_NM
FROM
COMTNTMPLATINFO a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.FRST_REGISTER_ID = b.UNIQ_ID
LEFT OUTER JOIN COMTCCMMNDETAILCODE c
ON a.TMPLAT_SE_CODE = c.CODE
WHERE
c.CODE_ID = 'COM005'
]]>
<isNotEmpty property="typeFlag">
AND a.TMPLAT_SE_CODE = #tmplatSeCode#
</isNotEmpty>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ a.TMPLAT_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ c.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY a.FRST_REGISTER_PNTTM DESC
) TB ) WHERE rn BETWEEN #firstIndex# + 1 AND #firstIndex# + #recordCountPerPage#
]]>
이렇습니다. 알수 없는 쿼리가 많아요..
무엇을 조회하기 위한 건지 알려주세요?
A
안녕하세요.. 김광오님..
해당 쿼리는 게시판 템플릿, 커뮤니티 템필릿, 동호회 템플릿을 조회하는 쿼리입니다. (협업쪽 공통부분으로 분리되어 있음)
그럼.. 즐거운 하루되십시오.
감사합니다.
해당 쿼리는 게시판 템플릿, 커뮤니티 템필릿, 동호회 템플릿을 조회하는 쿼리입니다. (협업쪽 공통부분으로 분리되어 있음)
그럼.. 즐거운 하루되십시오.
감사합니다.