2009-12-30 4 views
0

다양한 yyyymmdd 집계보기로 분할 된 데이터베이스가 있습니다. 각 분할 뷰에는 속도라는 열이 있습니다. 오늘의 속도 값이 어제보다 큰 경우 이전 날짜의 최대 값과 비교하여 파티션보기의 속도 값을 적극적으로 모니터링하고 다른 테이블에 삽입하는 방법이 있습니까?뷰에서 SQL 컬럼 값을 동적으로 모니터하는 가장 좋은 방법은 무엇입니까?

+0

예제 데이터와 예상 출력을 제공 할 수있는 데이터베이스는 무엇입니까? –

+0

(데이터베이스 내에서) 이런 종류의 작업을 수행 할 수있는 유일한 도구는 트리거입니다. 트리거는 플랫폼에 매우 의존적이므로 옵션이 무엇인지에 영향을 미칩니다. 필요에 따라 소스 데이터에서 원하는 결과 세트를 추출하는 효율적인 쿼리를 갖고 싶지 않은지 여부를 고려할 수도 있습니다. 트리거를 사용하여 파생 데이터를 다른 테이블에 추가하는 것은 중복되므로 원본 테이블의 변경 내용을 기반으로 데이터를 유지 관리해야합니다. 오류가 발생하기 쉽습니다. –

답변

2

SQL을 사용하는 모든 데이터베이스 플랫폼에서 일반적인 솔루션을 찾고 있다면 대답은 아니오입니다. 적어도 데이터베이스에는 없습니다.

그러나 대부분의 데이터베이스에는 트리거 메커니즘이 있습니다. 뷰를 지원하는지 여부는 사용중인 데이터베이스에 따라 다릅니다. SQL 서버 (예 : does allow triggers on views).

데이터베이스 별 솔루션을 기꺼이 사용하려는 경우 먼저 아래로 보는 것이 좋습니다.

모든 데이터베이스의 일반적인 솔루션의 경우 응용 프로그램 코드를 사용하여 값을 정기적으로 폴링 한 다음 작업을 수행하기 전에 조건과 비교해야합니다.

관련 문제