세 번째 테이블의 값을 기반으로 두 번째 테이블 (B)에 여러 행을 만들거나 업데이트하기 위해 하나의 테이블 (A)에 행 삽입에 응답하려고합니다. (C) (처음에 합류 할 수 있음). 나는 건설 다음 한SQLite 트리거 여러 행을 여러 행 삽입/바꾸기
,
CREATE TRIGGER MyTrigger AFTER INSERT ON A
BEGIN
INSERT OR REPLACE INTO B (ID, T1, T2, Role)
VALUES
(
(SELECT ID FROM C WHERE R1 = NEW.R1),
NEW.T1,
B.T2, -- The existing row's T2
(SELECT Role FROM C WHERE R1 = NEW.R1),
)
END;
Table A has columns ID, T1, R1
Table B has columns ID, T1, T2, Role
Table C has columns ID, R1, R2, Role
나는 내가 교체에 B의 기존 값을 참조하는 방법을 모르는 트리거
- 를 구성에서 내 시도 적어도 두 가지 문제가 "B.T2"
- 표 B에서 INSERT/REPLACE를 수행 할 때 표 C의 같은 행에서 여러 열 (R1, 역할)을 참조하는 방법을 모르겠습니다.
이 문제를 해결해 주셔서 감사합니다.
사용 'SELECT ... B FROM WHERE ROWID = NEW.ROWID' 대신'값 (...)' –
당신은 더 나은 답을 작성하고 그것을 받아 들일 것! 열린 질문을 피하십시오. –