"TOP, OFFSET 또는 FOR XML을 함께 지정하지 않으면 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서 ORDER BY 절을 사용할 수 없습니다." 하위 쿼리에 ORDER BY절을 사용해서 발생한 에러다. 이럴 땐, TOP을 붙여서 해결해줄 수 있다. SELECT * FROM ( SELECT TOP (SELECT count(*) FROM 테이블명) -- 이 부분!! ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS orderNum , 컬럼1 , 컬럼2 FROM ( SELECT 컬럼1 , 컬럼2 WHERE 1 = 1 AND 컬럼1 = 1 UNION ALL SELECT 컬럼1 , 컬럼2 FROM 테이블 WITH(NOLOCK) WHERE 1 = 1 AN..
T.컬럼=조건값으로 조회된 값이 있다면 수정하고, 그렇지 않다면 새로 추가하기. MERGE INTO 테이블명 T USING (VALUES(1)) AS Source (Number) ON T.컬럼 = #{조건} WHEN MATCHED THEN UPDATE SET T.컬럼 = #{패러미터} ,T.컬럼 = GETDATE() ,T.컬럼 = #{패러미터} WHEN NOT MATCHED THEN INSERT (컬럼 , 컬럼 , 컬럼 ) VALUES (#{패러미터} , GETDATE() , #{패러미터} );
페이징이 되어있는 게시판에서 1페이지에서 체크했던 값들이 2페이지에 갔다가 다시 1페이지로 돌아와도 체크된 상태로 남아있도록 하는 로직을 고객이 아닌 PM이 요구하여 만들게 됐다. 체크박스 체크 상태가 유지되는 게시판을 여태 본 적도 없고, 이용하는 사람 입장에서도 왜 그렇게 해야 하는지는 모르겠으나.. 만들라고 하니까 만들었다. 처음엔 체크할 때마다 ajax처리해서 session으로 들고다닐까 하다가, 겨우 체크박스 하나 때문에 불필요한 서버-클라이언트 통신이 발생하는 것도 아닐 뿐더러 띄엄띄엄 하는 체크에 많은 양의 체크를 할 것 같지도 않아서 그냥 쿠키로 해결하기로 했다. 좀더 정리가 필요한 소스이긴 하지만, 더이상은 귀찮다. ㅡ.ㅡ;; Javascript단 var cookieName = "item..
간단하게 짤 수 있는 코드지만, 항상 필요할 때마다 타이핑하자니 귀찮아서 여기에 저장해놔야겠다. function setPeriod(period){ var startDate = getPastDate(period); var endDate = getRecentDate(); $("#startDate").val(startDate); $("#endDate").val(endDate); } function getRecentDate(){ var dt = new Date(); var recentYear = dt.getFullYear(); var recentMonth = dt.getMonth() + 1; var recentDay = dt.getDate(); if(recentMonth < 10) recentMonth = "0..
간만에 간단한 것 하나 올려본다. 입력 화면에서 input 태그나 readonly인 태그를 제외한 타겟에서 백스페이스 키가 눌려서 이전 페이지로 이동하는 것을 막는 코드다. $(function() { $(document).keydown(function(e) { if(e.target.nodeName != "INPUT"){ if(e.keyCode == 8){ return false; } } if(e.target.readOnly){ // readonly일 경우 true if(e.keyCode == 8){ return false; } } }); });
웹프로젝트를 만들 때 보통 url-pattern을 "*.do"로 많이한다. "점 뒤에 특정 문자가 오면 서블릿을 타라"라는 뜻이기 때문에 반드시 *.do로 해야 하는 건 아니지만(*.aa *.bb 아무거나 상관없음), 네이버가 먼저 *.do를 사용하면서 *.do가 보편화 됐다고 한다. 그래서 보통 아무 생각없이 이 방법을 많이 사용한다. 하지만 url패턴을 좀더 간결하게 하고 싶고 추후 RestFul API를 제공하는 것도 염두에 두고 있다면 url패턴을 간결하게 가져갈 필요가 있다. 예를 들어 *.do로 하면 "http://www.cha.go.kr/cha/idx/Index.do"이렇게 요청해야 하지만, url패턴을 간결하게 하면 .do를 빼고 "http://www.cha.go.kr/cha/idx/Ind..