2017-04-06 2 views
0

저는 SQL을 처음 접했고 테이블을 업데이트하지 않고 내 테이블의 필드 중 하나를 업데이트 할 수 없도록 만드는 방법을 찾고 있습니다. 같은 시간에 다른 분야의. 나는이 일을하기 위해 현재의 방아쇠를 넓혀야하며, 도움을 준 것에 감사 할 것이라고 생각합니다.변경하기 전에 두 개의 SQL 필드를 업데이트해야합니다.

데이터베이스는 EmployeeInfo라고하며 테이블은 tblEmployee 테이블보기에서

필드는 다음과 같이 호출됩니다 형식이 꺼져있는 경우

EmployeeAddress | EmployeePostcode 
--------------------------------------- 
15 Green Lane | S63 0NO 

죄송합니다. 감사.

+0

우편 엽서가 변경되는 경우 ... 사람들은 때로는 동일한 우편 번호를 가진 다른 주소로 이동합니다. – jarlh

+0

누군가가 길을 건너면 (즉, 우편 번호가 변경되지 않은 경우) 주소를 변경할 수 없습니까? *** 데이터가 올바르지 않기 때문에 올바른 데이터를 캡처하는 것을 방지하는 것이 더 낫습니까? 이 경우, 테이블에 대한 업데이트를 막는 것만으로 초기 캡쳐시의 오류 (예 : 주소의 오타)를 고칠 수 없음을 보장 할 수 있습니다. –

+0

나는 당신이하는 말을 이해하지만,이 단계에서 나는 실제로 이것을 사용할 수 있도록이 유형의 검증을 실제로 만드는 방법을 알아 내려고 노력하고 있습니다. 어쨌든 고맙습니다. 응답 해 주셔서 감사합니다. –

답변

0

당신은 New from Old ...를 참고해야합니다. mysql 구문에서는 그렇지 않습니다.

CREATE TRIGGER <TRIGGER> BEFORE UPDATE ON <TABLE> 
    FOR EACH ROW 
    BEGIN 
     IF (NEW.<column> = OLD.<column> or NEW.<column2> = OLD.<column2>) 
       <RAISE EXCEPTION> 
     END IF; 
    END;