this post에 이전에 묻어 보았으며 WHEN-THEN
구조를 살펴 보았지만 실제로는 몇 가지 질문에 대답하지 않습니다. 동적 SQL을 스토어드 프로 시저로 다시 작성
buildSearchQuery.Append("SELECT * FROM Policy WHERE Field_1 = '" + param_1 + "'");
if (Condition 2){
buildSearchQuery.Append("AND Field_2 = '" + param_2 + "' ");
}
if (Condition 2)
{
buildSearchQuery.Append("AND Field_3 = '" + param_3 + "' ");
}
...
당신은 사진을 얻을 :
현재 코드에서 SQL 쿼리는이 같은 StringBuilder
사용하여 구축된다. 총 20 개의 매개 변수 값이 있으며, 내 작업은 저장 프로 시저를 만들고이 값을 매개 변수로 전달하는 것이 었습니다.
모든 매개 변수를 사용하여 저장 프로 시저를 만들고 거기에서 논리를 수행합니까? 그렇다면 확실하지 않습니다. 이 같은?
SELECT * FROM TABLE WHERE Field_1 = @param_1
IF(@param_2 <> NULL)
AND Field_2 = param_2
...
이 매개 변수는 항상 값을 가질 수 없으므로 쿼리의 일부가 될 수 없습니다. 이 작업을 염두에두고 성능을 유지하는 가장 좋은 방법은 무엇입니까?
읽어 보시기 바랍니다 : HTTP : //www.sommarskog. se/dyn-search.html – HLGEM
고마워요, 제가 살펴 보겠습니다. – Risho