내가 테이블에서 데이터를 검색하기 위해 제공 할 수있는 몇 가지 매개 변수가 있습니다 :
- DateFrom
- DateTo
- Name
- TypeId
개선해야 할 코드가 하나 있습니다. 응용 프로그램 코드에서는이 모든 매개 변수를 가져 오는 함수가 있으며 IF 문을 사용하여 제공하는 매개 변수를 기반으로 다른 쿼리를 작성합니다.
이 작업을 수행하는 더 좋은 방법이 있습니까?
매개 변수가있는 쿼리를 하나만 만들고 매개 변수가없는 경우 쿼리를 무시하십시오. 당신의 매개 변수는 이름 @Begin, @end, @Name이 가정
select...where DateFrom = 'someDate'
select...where DateFrom = 'someDate' and DateTo = 'someDate'
select...where DateFrom = 'someDate' and DateTo = 'someDate' and Name = 'someName'
etc.
중복 사본 중복 ... 문제에 대한 최고의 텍스트 읽기 : T-SQL의 동적 검색 조건, Erland Sommarskog : http://www.sommarskog.se/dyn- search.html –