2017-12-06 4 views
0

Postgresql에 두 개의 테이블이 있습니다. 나는 그것의 배열 항목 수 table_2.Result_sources에 제약을 쓸 수있는 방법posgresql 배열 형식의 열에 제약 조건을 넣는 방법

Result;Result_sources 
2.3; {A_src;C_src} 
43; {B_src;C_src} 
11; {A_src;B_src;C_src} 

table_1.Sources 열에서 온 다음과 같이

table_1

Sources 
A_src 
B_src 
C_src 

table_2이 소스를 포함

+0

나는 당신이 그것을 위해 트리거를 필요로한다고 생각한다. 사용 체크 (다른 테이블) 또는 FK 제약들 (다른 데이터 타입들) –

답변

1

당신은 할 수 없습니다 그렇게해라. 경쟁 조건을 피할 수 없기 때문에 방아쇠를 대용 할 수는 없다. 거래를 SERIALIZABLE 사용하지 않는 한.

이 문제는 정규화를 위해 요구됩니다. table_1table_2 사이에 m 대 n 관계를 구현하는 테이블을 만듭니다.