2012-08-28 2 views
0

기존 레거시 Interbase 데이터베이스를 MySql로 변환하고 트리거 변환에 문제가 있습니다. 이것은 내가 지금까지 왔지만 다음 트리거에서 오류가 무엇인지 이해하지 못하는 것입니다. 문법을 고칠 수 있습니까? 이 두 경우MySql 트리거 구문 테이블에서 값을 조회하고 업데이트 된 행에서 업데이트합니다.

DELIMITER^

그것은 into new.FinancialCode가 잘못 말했다. 이것을 이루기위한 올바른 형식은 무엇입니까?

Create Trigger triggerFinancialCode BEFORE UPDATE ON FLOW 
FOR EACH ROW 
begin 
    Select FinancialCode FROM Accounts where AccountCode = new.AccountCode 
    into new.FinancialCode ; 
end^

Create Trigger triggerFinancialCodePredicted BEFORE UPDATE ON PREDICTED_FLOW 
FOR EACH ROW 
begin 
    Select FinancialCode FROM Accounts where AccountCode = new.AccountCode 
    into new.FinancialCode ; 
end^

답변

0

이 코드를 사용해보십시오 (테이블에 값을 조회 및 업데이트 된 행에서 변경) -

CREATE TRIGGER triggerFinancialCode BEFORE UPDATE ON FLOW 
FOR EACH ROW 
BEGIN 
    SET @var = NULL; 

    SELECT FinancialCode INTO @var FROM Accounts WHERE AccountCode = NEW.AccountCode; 

    SET NEW.FinancialCode = @var; 
END 

이 두 번째 트리거에 대해 동일한 작업을 수행합니다.

관련 문제