나는 합성 인덱스를 생성 한 타임 스탬프 필드가있는 테이블을 가지고 있습니다.테이블 (열) 대신 인덱스 이름을 기반으로 외래 키 만들기
CREATE INDEX "IDX_NAME_A" ON TABLE "A" (a_id, extract(year FROM created_at))
외래 키 관계를 갖고 싶은 연도와 a_id를 저장하는 다른 테이블이 있습니다.
내가 원하는 것을 수행하는 구문을 찾을 수없는 것 같습니다.
ALTER TABLE "B"
ADD FOREIGN KEY(a_id, a_year)
REFERENCES A(a_id, extract(YEAR FROM created_at));
는 생산 :
ERROR: syntax error at or near "("
나는 또한 시도했다 ...
ALTER TABLE "B"
ADD FOREIGN KEY(a_id, a_year)
USING INDEX "IDX_NAME_A";
어떤 아이디어?
Table A
--------
a_id serial,
created_at timestamp default now()
Table B
-------
b_id serial
a_id integer not null,
a_year date_part('year')
어떻게'표 A'에 일년에 열을 추가하는 방법에 대한? – Kermit