정규식을 이용하여 쿼리문을 정렬해 주는 넘을 함 만들어 봤습니다.
제 홈페이지에 간단하게 ASP .Net으로 만들어 놓았습니다.
현재는 간단한 수준의 정렬만 가능합니다.
중첩쿼리 지원이 가장 큰 관건입니다만, 일단 아쉬운데로 이 정도면 보기에 보다 편하게 정렬은 해 주니까요.
아래는 주소입니다.
혹시 버그나 원하시는 기능 있으면 덧글 달아주세요.
버그는 가급적 수정하겠지만 원하시는 기능은 봐서 추가가 될껍니다. ㅋㅋ
버그가 있더라도 이해 바랍니다. ^^''
http://goodfeel.pe.kr/sqlutilweb/sqlarranger.aspx
일단 아래 예제 문장을 그대로 붙여서 정렬해 보시면 됩니다. ^^''
아래 문장은 보안(?) 상의 이유로 컬럼 및 테이블 이름을 임의대로 변경한 쿼리 예제입니다.
아래와 같이 임의의 공백과 줄바꿈 탭들로 인해 가독성이 떨어지는 SQL문장의 예제입니다.
(SELECT sum(-t.cashAmount) as aunt, p.prodd, c.chareId, cc.deript, p.produme, 0, t.cpId, count(*) as tCount
FROM tblTran t WITH(READUNCOMMITTED)
JOIN tblO o
WITH(READUNCOMMITTED) on t.trnId = o.traId
JOIN
tblU u WITH(READUNCOMMITTED) on t.usmber = u.usember
LEFT JOIN tblRe r WITH
(READUNCOMMITTED) on t.psactionId = r.tactionId
WHERE trad = 6
AND t.registDt >= @startDt AND t.registDt < @endDt
AND sc.seeId = 1 AND r.refund IS NULL
GROUP BY p.prd, c.chard, cc.descript, p.productName, t.cpId)
ASP코드에서 직접 쿼리를 사용할 경우 디버깅을 위해 response.write로 출력할 경우 쫘~악 붙어 나오는 쿼리의 예제입니다.
SELECT sum(-t.cashAmount) as aunt, p.prodd, c.chareId, cc.deript, p.produme, 0, t.cpId, count(*) as tCount FROM tblTran t WITH(READUNCOMMITTED) JOIN tblO o WITH(READUNCOMMITTED) on t.trnId = o.traId JOIN tblU u WITH(READUNCOMMITTED) on t.usmber = u.usember LEFT JOIN tblRe r WITH(READUNCOMMITTED) on t.psactionId = r.tactionId WHERE trad = 6 AND t.registDt >= @startDt AND t.registDt < @endDt AND sc.seeId = 1 AND r.refund IS NULL GROUP BY p.prd, c.chard, cc.descript, p.productName, t.cpId
'programming > MSSQL' 카테고리의 다른 글
icrosoft SQL Server VS Oracle Database 10g (0) | 2005.01.28 |
---|---|
Trace and Replay Objects: A New API for SQL Server Tracing and Replay (0) | 2005.01.14 |
Data Access Technologies Road Map (0) | 2005.01.14 |