퇴근5분전

20150601 #수정

 테스트를 해보니 오류가 많아서 계속 고쳤다.

 

function 부분에서

    substring( 'aaaa', 1, 2 ) : parameter가 여럿일때 ,처리부분.

    isnull( max ( a ), 'aa')  이렇게 function안에 function이 들어가는 부분

    getdate() 같은 호출되는 function.

 

update 에서  table 의 별칭 정보 없을 때 set문이 깨짐..

 

case문

    : 이거 참 어려운 처리 ..

     case when then

                             case when then

                                     else

                             end

             else ( 

                        case when then

                                else

                        end

                   )

    end

 

 이런걸 처리 할때 간격 처리가 ... 골때리게 되어서 처리함.

쉽게 생각했다가 멘붕에 빠져서 허우적 거려서...

가장 마지막에 나온 것이 바로 case에서 자기 위치값을 가지고 있고 when, then, else, end에서는 case 요소를 참조하고 있다가

자기 위치값을 계산해서 찍어줌.

() 를 만나는 경우 이게 또 다른... 멘붕로 접어든다. 

stack으로 처리하다가 원했던 동작과는 전혀 다른 동작으로 디버깅하는데 반나절을 소비하고 겨우 정신차렸더니 잘시간...

다음날 하나둘 풀어가다보니 의외로 쉽게 잘 풀려서 몇시간만에 대부분 해결이 되었다.

 

---------------------------------------------------------------------------------

  세번째 다시 만든 쿼리 포맷터...

  ## 별거 아니라고 생각하면서 시작한게 꾀나 오래 걸려서 작업이 완료되었다.

 많은 문법은 적용하지 못했지만. 기본적으로 사용하는 문법들은 넣었다. 경우의 수가 많아서 떠오르는 구문들만 처리 했으며, 추가적으로

지정되지 않은 서식문법은 추후에 하나씩 담으면 될 것 같다. 

 우선 이전 프로젝트 고생하셨던 부장님 선물로는 완성이 된듯...  기능은 많지 않지만 마음에 들어 하셨으면 좋겠다.

 

 # 우선 쿼리 UI ( * as 위치 는 삭제 함 ) 

 

# 변환을 시작하면 사전기능이 동작하여 변환될 사전기능이 없는 것들을 그리드에 뿌려줌. 입력후 저장하면

   저장된 설명으로 주석문이 만들어짐.

 

 

# 변환 후 정렬된 쿼리문!

 

'# 9) My Program(.NET)' 카테고리의 다른 글

SQL_FMT] 새로 만들어진...  (0) 2015.09.08
SQL_FMT] 새로 다시 만드는 쿼리 포멧터  (0) 2015.08.19
쿼리포맷터II  (0) 2015.05.05
쿼리 포맷터!  (0) 2015.05.01
Designer] 앞으로...  (0) 2013.07.10