Table 筆數限制大小,去除最舊的那一筆 |
答題得分者是:chih
|
demon1042001
一般會員 ![]() ![]() 發表:14 回覆:19 積分:6 註冊:2002-06-12 發送簡訊給我 |
各位前輩..
我有一個Log Table,但它會一直成長
可是我希望當Table 的筆數已到五萬筆時
就將最舊的那一筆刪除,加入最新一筆.
一直保持五萬筆 之前的我做法是 //先取出總筆數
Tmp.Close;
Tmp.CommandText := 'select Count(*) TotalCount from ' TableName;
Tmp.Open; if (Tmp.FieldByName('TotalCount').AsInteger <= Max_Recordcount) then
begin
Result := True;
end
else
begin
case Overwrite_Type of
0: begin // 最佳化成長
Command.CommandText := 'Delete ' TableName ' Where Log_Serial = (SELECT TOP 1 Log_Serial FROM ' TableName ')';
Command.Execute;
Result := True;
end;
1: begin //不成長
Result := False;
end;
end;
end; 可是 SELECT TOP 1 不能適用在每個資料庫
不知各位先進,在限制大小都是如何做..(自認為自己的法方不好)
|
chih
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |