在TQuery中用单个SQL语句删除或修改一个表,当有可能数据量巨大时,是不是应该分批处理,请各位大侠谈谈经验:针对sql server 和mysql分别说明!
解决方案 »
- 几道面试题目,谈谈你们的看法吧
- 求助 如何判断是否有鼠标及键盘操作?
- ACProtect注册版和未注册版有何不同?安全能力如何?那儿有注册版呢?
- 继承ADODataSet 如何对字段列表中的字段添加属性.
- 通过代码创建一个iis的虚拟目录
- 谁能提供动画窗口的程序代码
- 马上给分!如何从一个数据集中取出数据,并更新另一表中对应记录的字段值?
- 小问题!请问如何得到TRichedit的卷滚条的象素位置?
- 在delphi中如何操作Word中在域!100分求代码!
- 如何在delphi5中使用delphi6编写的源程序
- 控件安装时出了问题.高手指教~
- 急救!为什么我的midas服务器取不到数据,连接都正常的?
我一般都是直接寫,然後開起事務!
-------------
我的意思是就一条语句,应该不用显示开启事务!我看了前人的代码,对于sqlserver是这样分批的,不知道有没有道理:(这样的备份有用吗?)
try
execsql('set rowcount ' + inttostr(Rowcount)); repeat
execsql(' declare @dbname varchar(30)'+#13#10+
'select @dbname=db_name()'+#13#10+
'dump transaction @dbname with no_log');
execsql(sqlStr);--------------------------这句是本来要执行的语句
// sleep(1000);
until
DMSys.QryBackTemp.RowsAffected < Rowcount;
finally
execsql('set rowcount 0');