2011-08-04 4 views
0

다음 코드를 작성하여 View와 해당 프로덕션 테이블을 비교합니다. 효율을 위해이 코드를 작성하는 더 나은 방법을 찾고 있는데, 어떤 포인터도 크게 감사 할 것입니다. 코드를 통해 원하는 결과를 얻을 수 있습니다. 이제는 새로운 접근법과 개념을 학습하는 것입니다.Transact SQL : 뷰와 테이블의 동기화

http://pastebin.com/pSTdCx3L

+2

코드를 리팩터링하는 것에 대한 광범위한 의견을 묻는 것이 답을 얻는 가장 좋은 방법은 아닙니다. 불행한 코드의 특정 위치를 가리키고 그 이유를 설명하고 코드를 향상 시키려고 시도한 점 등을 설명하십시오. – Yuck

+1

그렇지 않으면 [codereview.stackexchange.com] (http : /codereview.stackexchange.com/) 코드를 향상시키는 데 더 적합한 장소입니다. (StackOverflow는 코드의 문제를 해결하는 방법에 관한 것입니다.) –

+0

효율성이 제대로 이루어집니다. 주님, 과도한 행동. 다음 번에는 SO *에 대해 *보다 * 전에 * 문의하십시오. 그러면 우리는 당신의 문제를 해결할 수 있습니다. – gbn

답변

2

당신이보기 WITH SCHEMABINDING를 선언하면,이 오버 헤드가 필요하지 않습니다.

나는 항상 그것을 사용합니다. 뷰 (또는 udf)에 사용 된 기본 테이블의 변경을 허용하지 않습니다. 또한 열의 수식을 지정하고 2 부분의 개체 이름을 사용합니다.

SCHEMABINDING

는 기본 테이블 또는 테이블의 스키마에 뷰를 바인딩합니다. SCHEMABINDING이 지정되면 기본 테이블을 뷰 정의에 영향을주는 방식으로 수정할 수 없습니다. 뷰 정의 자체는 수정되거나 테이블의 종속성을 제거하기 위해 먼저 삭제되어야합니다. 로 :

, 나는 ("facepalm"를 읽어) 매우 즐겁게 생각합니다 귀하의 일대일 테이블 매핑을 볼 수 있습니다. 왜? 값을 더하지 않습니다.