2012-10-26 3 views
2

서버 측 함수 (C#)는 다른 테이블 (t1, t2, ...) 데이터베이스에서 다른 select를 반환해야하지만 수와 유형은 항상 동일합니다.mssql - 하나의 저장 프로 시저와 여러 저장 프로 시저

select 유형을 결정하는 @Type이 리턴되어야합니다.

@type마다 다른 저장 프로 시저를 작성하거나 switch(@type)과 함께 하나의 저장 프로 시저를 작성하는 것이 더 좋습니까?

편집 : 은 각각 2000에 대한 클 수 선택 - 저장 프로 시저 사이의 유일한 공통점은 매개 변수의 정의 인 경우 3000 자

+0

다른 테이블 – dllhell

+0

을 그 일반 의사를 적용하는 것을 목표로한다 - 단지 하나를 사용하는 것이 유용합니다 경우가 있습니다 스토어드 프로 시저의 경우에도 실제로는 매개 변수에 따라 다른 테이블이 결과 집합을 반환하는 데 사용됩니다. 가격 테이블과 제품 테이블을 조인하는 저장 프로 시저 getProducts (@ country = "GB")를 사용하고 있습니다. 가격표는 전달 된 국가에 따라 다릅니다. 그러나 항상 제품 + 가격이므로 동일한 절차를 사용하여 모든 것을 한 곳에서 처리하도록 선택합니다. – surfmuggle

답변

2

, 나는 하나의 저장 프로 시저로가 어떤 이유를 볼 수 없습니다 . 소프트웨어 설계의 원칙의

하나는 Single Responsibility Principle - 당신은 그냥 참고로 저장 프로 시저에