一般用于版本控制,代码如下:

delphi10.4.1,firedac fdquery组件,其他语言看下sql就行。

procedure TfrmMain.upDB();

var

  find: boolean;

  i: integer;

begin

  find := False;

  Qt.Close;

  Qt.Open('select top 1 * from tAccountDetail');

  for i := 0 to Qt.FieldCount - 1 do

  begin

    if Qt.Fields[i].FieldName = 'FP34' then // FP34|其他奖金

    begin

      find := true;

      Break;

    end;

  end;

  if not find then

  begin

    try

      Qt.Close;

      Qt.SQL.Text := 'alter table tAccountDetail add FP34 money DEFAULT 0';

      Qt.ExecSQL;

      Qt.SQL.Text := 'update tAccountDetail set FP34=0';

      Qt.ExecSQL;

      Qt.SQL.Text := 'insert into tSelTemp2(fname,fcode)'

        + ' values(''其他奖金'',''FP34'')';

      Qt.ExecSQL;

    except

      //

    end;

  end;

end;