PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2018/03/15 16:56:40
Name NCS
Subject [질문] MSSQL 프로시저 매개변수 해결! (감사합니다) (수정됨)
MSSQL이라서 한글 테이블, 한글 컬럼씁니다.
예를들어 공지사항 테이블에 제목,내용 등등 컬럼이 있고

프로시저로 @type : 분류, @word : 검색어  를 입력받았을때
1)
select * from 공지사항
where 제목 like @word
는 잘 출력 되는데

2)
select * from 공지사항
where @type like @word
는 쿼리 에러는 안 나는데 결과가 안 나오네요

대충 검색해보니 조건절 좌측에는 매개변수 쓰면 안 된다던데
매개변수를 써야 동적으로 운영 할 수 있거든요..

예를들어 화면단에서 프론트개발자가 검색분류 콤보박스에 작성자를 추가 할 수있는데
2)처럼 되어야 화면단에서 무엇을 입력받든 동적으로 처리되는데
1)처럼 하려면 일일이 if문으로 조건을 추가해줘야되서 문제가 될 수 있거든요.

즉 프론트개발자가 화면단에는 작성자라는 조건도 추가했는데 프로시저에는 작성자 like @word 라는 쿼리가 추가 안되어있으니
결과가 나올 수가 없는겁니다.

사실 프로시저 안쓰고 java DAO에서 문자열로 쏘면 되긴한데.. 보안상 소스에 쿼리 안넣고 프로시저를 활용하고싶은데
where 조건절 좌측 것도 동적으로 활용할 괜찮은 방법 혹시 없을까요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
18/03/15 17:14
수정 아이콘
동적쿼리를 쓰면 될것같아요
18/03/15 17:30
수정 아이콘
(수정됨) 동적 쿼리로 하니까 되네요! (sp_executesql)
감사합니다!
마루하
18/03/15 19:23
수정 아이콘
아 근데 보안상 동적쿼리가 안좋긴 합니다.
보안상이란 단서를 본문에서 봐서 지나가다 한마디 남깁니다.
더불어 자주 사용되는 쿼리라면 성능상에도 문제가 생길거구요.
18/03/15 20:17
수정 아이콘
역시 프로시저는 성능상 안좋은가 보군요.
브라이언
18/03/15 20:41
수정 아이콘
하지만 검색조건이 많은경우 일일이 if문으로 쿼리분기 한다면 모를까... 동적쿼리외에는 답이 없죠
성능이라기보다는 프로시저의 캐싱을 활용못하는거고요
오히려 인덱스 제대로 안걸어서 생기는 성능이슈가 더 많죠
마루하
18/03/15 20:51
수정 아이콘
프로시저가 성능이 안좋다기 보단 동적쿼리를 쓰면 쿼리를 실시간으로 준비해야 해서 살짝 느려지는 이슈가 있고,
브라이언님 말씀대로 캐싱이 안되죠.
일반적으로 검색에 사용되는 컬럼은 인덱싱을 해야 서비스 가능한 수준의 쿼리 성능이 나오기 때문에 미리 정해두는 경우가 많습니다.
미리 정해진 컬럼만 검색이 되도록 한다면 동적 쿼리 없이 사용할 수 있겠죠.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
117344 [질문] 무척 갖고싶던 것을 정작 갖게되면 오히려 관심을 잃게 되는 심리는 무엇 때문일까요...? [15] nexon3281 18/03/15 3281
117343 [질문] 애드블록 추천 좀 해주세요! [5] 롯토3799 18/03/15 3799
117342 [질문] 새로만든 휴대폰 번호 - 기존 사용자에 대한 문자/연락 줄이거나 없애는 방법은? [3] 서쪽으로가자3911 18/03/15 3911
117341 [질문] 가슴 안 커지는 가슴운동 이렇게 해도 괜찮을 까요? [12] 알카드3644 18/03/15 3644
117340 [질문] 위쳐3 재미있게 할 수 있을까요? [26] 언니네 이발관4306 18/03/15 4306
117339 [질문] 금요일 오전 8시, 오후 6시경 대치동 출,퇴근길 차 많이 막히나요? [16] 유니꽃2981 18/03/15 2981
117338 [질문] MSSQL 프로시저 매개변수 해결! (감사합니다) [6] NCS3189 18/03/15 3189
117337 [질문] Nox나 momo 앱플레이어 돌릴려면 컴부품 뭐가 좋아야하죠? [4] Twice3445 18/03/15 3445
117336 [질문] 아파트 입주 후 시스템 에어컨 설치 조언 부탁드립니다. [6] Red Key5702 18/03/15 5702
117335 [질문] 커피레이크 8600k와 8700이 체감차이가 많이 날까요? [7] esang6083 18/03/15 6083
117334 [질문] 사업기획 관련 도서 추천부탁합니다 BlueSKY--1407 18/03/15 1407
117333 [질문] 어머니의 부동산 투자에 대해서 궁금하여 질문드립니다. [20] 키무도도2554 18/03/15 2554
117332 [질문] 휴대폰 USB 3.0 관련해서 [6] 초록2231 18/03/15 2231
117331 [질문] [프로그래머] java관련(bit) 질문입니다. [4] The.Scv1868 18/03/15 1868
117330 [질문] 싫은 사람들 사이에서 버티기 [38] 삭제됨4520 18/03/15 4520
117329 [질문] 스1,스2 APM 측정 방식이 다른가요? [6] 독한혀들의전쟁2119 18/03/15 2119
117328 [질문] 철권 태그1 공략을 찾을 수가 없어요 ㅠㅠ [11] chlrkdchlrkd4909 18/03/15 4909
117327 [질문] [다이어트] 배가 고프네요... [1] Lighthouse2744 18/03/15 2744
117326 [질문] 영어회화에 도움이 될만한 보드게임 추천 부탁드려요 [22] 밐하3818 18/03/15 3818
117325 [질문] 롤챔스 개인별 지표?(수치)는 어디서 찾아보는건가요? [2] 정공법1798 18/03/15 1798
117324 [질문] [헬스]운동10개월차인데..변화가 거의 없어요ㅠ [10] 쭈운4980 18/03/15 4980
117322 [질문]  10년 공공임대 괜찮을까요? (세종/LH) [5] zzzzz2890 18/03/15 2890
117321 [질문] airbnb 예약관련 [5] 장모1976 18/03/15 1976
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로