一句SQL语句,循环生成spid(spid='SPZ'+字符'0'+最大编号字符值 组成的char(11)数据):
declare @recnum int
set @recnum=0
update spzl_ds set spid='SPZ000'+replicate('0',5-len(@recnum))+cast (@recnum as varchar
(5)),@recnum=@recnum+1
/*
实际上这个update语句是一个@recnum 的循环语句:
循环变量是@recnum,每更新一条记录@recnum 自增1,更新完整个spzl表后退出循环。
*/
生成最大编号的delphi语句:
var
maxnum : Integer;
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select max(编号)as 最大编号 from 读者信息');
ADOQuery2.Open;
maxnum := (ADOQuery2.FieldByName('最大编号').AsInteger)+1;
DBEdit2.Text := copy('0000',1,4-length(IntToStr(maxnum)))+inttostr(maxnum);
end;