데이터베이스로 절대 데이터베이스를 사용하고 있습니다. 절대 데이터베이스는 트리거를 지원하지 않으므로 내 자신의 UPDATE 트리거를 작성해야합니다. 나는이 방법을 시도 :레코드가 변경 될 때 테이블 타임 스탬프 필드 업데이트
procedure TDataModule2.ABSQuery6AfterPost(DataSet: TDataSet);
begin
ABSQuery4.Close;
ABSQuery4.SQL.Clear;
ABSQuery4.SQL.Text :='UPDATE MYTABLE SET RECORDCHANGED=CURRENT_TIMESTAMP';
ABSQuery4.ExecSQL;
end;
하지만이 방법은 내가 전체 테이블을 업데이 트입니다. 변경된 레코드 (행) 만 업데이트하려면 어떻게합니까?
편집 : 이것은 내가 그것을
당신은 당신의 쿼리에 ''절에 추가해야procedure TDataModule2.ABSQuery6AfterPost(DataSet: TDataSet);
begin
with ABSQuery4 do begin
ABSQuery4.Close;
ABSQuery4.SQL.Clear;
ABSQuery4.SQL.Text :='UPDATE MYTABLE SET RECORDCHANGED=CURRENT_TIMESTAMP WHERE T_ID=:a1';
ABSQuery4.Params.ParamByName('a1').AsInteger := ABSQuery6.FieldByName('T_ID').AsInteger;
ABSQuery4.ExecSQL;
end;
end;
을보고 어디 "id_of_last_changed_record"을받을 수 있나요 – user763539
방금 업데이트 한 기록의 ID를 알고 계실 것입니다. 이드를 모른 채 어떻게 업데이트 했습니까? –