postgresql에서 캐스케이드 업데이트가 필요한 테이블이 있습니다.하지만 외래 키를 사용할 수 있다고 생각하지 않습니다.postgresql에 외래 키가없는 캐스케이드 업데이트
간단한 버전은 내가 4 개 개체 테이블과 2 동점 표가 있습니다 : 나는 모든 ID 필드에서 PK를 내 묶는 테이블에
Table X Table A Table A-B Table B Table B-C Table C
------- -------- --------- ------- --------- -------
x_id a_id x_id b_id x_id c_id
... ... a_id ... b_id ...
... ... b_id ... c_id ...
... ...
을 (x_id, A_ID, b_id), (x_id, b_id, c_id).
표 A-B의 b_id를 업데이트하면 x_id가 일치하는 표 B-C의 b_id를 업데이트하려고합니다. 내가 외래 키 제약 조건을 만들려고하면
, 그것은 나에게 말한다
"참조 테이블에 주어진 키와 일치하는 고유 제한 조건은 없다 ..."
내가이 일을 아니에요 이해하는 (때문에 x_id, b_id)는 고유 한 제약 조건이 아니지만 같은 b_id 및 x_id를 가진 여러 c_id를 가지므로 존재하지 않을 수 있습니다.
바라건대 말이 되네.
트리거로이를 수행하는 유일한 방법은 무엇입니까?