2016-09-09 2 views
1

안녕하세요 저는 table1과 table2, table2에는 2 개의 테이블이 있습니다. 그리고 table2에는 가변 문자 인 열 전화기가 있습니다. 나는이 실행하려는 :테이블에서 유효성 검사를 사용하여 트리거 만들기

CREATE TRIGGER table1_trigger 
    AFTER UPDATE ON table1 FOR EACH ROW 
WHEN (table2.phone <> 'something') 
    EXECUTE PROCEDURE myprocedure(); 

을하지만 난에 오류가 언제 (table2.name <> '뭔가') 내가 사용하고 PostgreSQL을

표 2에서 열 이름이있는 경우 아이디어는 값 'something'을 입력 한 다음 트리거를 생성하고 프로 시저를 실행하십시오.

답변

0

when 조건의 다른 테이블에서 속성을 참조 할 수 없습니다. 조건은 OLD 또는 NEW 값일 수 있습니다. 트리거를 만드는 방법에 대한 자세한 내용은 여기 https://www.postgresql.org/docs/9.1/static/sql-createtrigger.html을 참조하십시오.

+0

고맙습니다. 정보를 제공해 주신 데 대해 감사드립니다. 어떻게해야합니까? – Taniel

+1

당신이하고 싶은 것은 무엇입니까? 당신의 상태가 이치에 맞지 않습니다. 트리거는 table1의 행이 갱신 될 때 실행됩니다. 이 행에는 table2에 대한 연결이 없습니다. 그리고 그랬더라도. 외래 키를 통해 프로 시저에 논리를 구현해야합니다. – Guenther

+0

table2의 열이 'something'l과 동일 할 때 프로 시저를 실행하고 싶습니다. – Taniel

관련 문제