2011-12-23 1 views
0

두 개의 테이블 (테이블 A와 테이블 B로 호출 할 수 있음) 둘 다 상점에 대한 데이터를 포함합니다. 표 A에는 상점 이름, 주소 및 전화 번호에 대한 데이터가 포함되어 있으며 표 b에는 매장 개폐 시간, 위치 좌표, 로고 등에 대한 데이터가 포함되어 있습니다. 데이터를 표 A 및 B로 채우는 타사 응용 프로그램을 사용합니다. 새 테이블 (테이블 C)을 만들고 해당 테이블에 필요한 모든 열을가집니다. 할 수있는 일이있어서 테이블 A와 B에 입력 할 때마다 데이터도 테이블 C에 추가됩니까? 그렇다면 어떻게해야합니까? (제 3 자 응용 프로그램을 수정할 수 없습니다)두 개의 다른 테이블에있는 항목을 기반으로 한 자동 채우기 SQL 테이블

답변

1

데이터베이스의 trigger에 대한 완벽한 작업처럼 들립니다.

1

트리거는 MySQL에서는 좋지 않지만, 해당 데이터에 대한 읽기 전용 액세스 만 필요하면이를 얻을 수있는보기를 만들 수 있습니다. 그러나 MySQL에 대한 뷰는 사용자가 참여할 경우 훌륭하지 않습니다. 같은

뭔가 :

create view shop_all_v as 
    select 
    a.shop_name, a.address, a.phone_number, b.opening_time, b.closing_time 
    from table_a a, table_b b 
    where a.shop_id = b.shop_id; 

다른 방법은 응용 프로그램 코드에서 테이블을 업데이트하는 예약 된 작업을 만드는 것입니다. 가장 좋은 것은 아니지만, MySQL을 사용하면 약간의 어려움이 있습니다. 동기화가 발생한시기를 추적하는 데 도움이되는 타임 스탬프 열을 만들 수 있습니다. 실시간 데이터 처리가 필요한 경우 권장되지 않는 집계 데이터 처리의 표준 방법이므로 미친 것은 아닙니다.

관련 문제