기존 ASP.NET 응용 프로그램에서 작업하고 있습니다. 현재 응용 프로그램은 많은 인라인 쿼리를 사용합니다. 이제는 모든 쿼리를 저장 프로 시저로만 다시 작성하려고합니다. 내 문제가인라인 SQL을 저장 프로 시저로 변환
,이 쿼리는 매우 "동적"이며 쿼리는 예를 들어, 다른 if...else
조건에 따라 연결됩니다 :
string query = "Select * from EmpTable WHERE EmpType ='ACTIVE'";
if (conditionA == true)
query += "AND ID = 12345 ";
if (conditionB == true)
query += "AND Dept = 'Finance' ";
else
query += "AND Dept <> 'Finance' ";
if (conditionC == true)
query += "Order by EmpID";
else if (ConditionD == true)
query += "Order by Dept";
그들은 또한 동적 쿼리를 사용하지 않도록합니다. 내 옵션은 무엇입니까?
편집 : 저장된 프로 시저를 사용하여 동적 쿼리를 작성할 수도 있다는 것을 알고 있습니다. 다른 "덜 고통스러운"옵션이 무엇인지 궁금합니다.
유지 보수의 악몽 – Steve
정확하게 @ 스티브! –
음, 조건을 매개 변수로 SP에 전달하고 여기에 동적 SQL을 빌드 할 수 있습니다. 최선의 방법은 아니지만 가장 고통스럽지 않습니다. –