SQL批量处理方法总结

     SQL中常用的批量处理可以通过事务、循环语句、批量处理语句以及存储过程等方式实现,比较常用而且简单是事务、循环语句和批量处理语句,下面重点介绍!

1、事务

     程序中批量执行SQL语句时可以通过事务保证执行任务的完整性!实例代码如下:     CDatebase m_myDB; m_myDB.Open(....); ... if(!m_myDB.BeginTrans()) //开始事务 return FALSE; try { // 批量处理语句 m_myDB.ExecuteSQL(strSQL1); m_myDB.ExecuteSQL(strSQL2); ... m_myDB.CommitTrans( ); //提交事务 } catch(CDBException* e) { e-> ReportError(); m_db.Rollback( ); //如果出错,回滚事务 }

2、循环语句

    SQL中的循环语句可以实现有规律数据的批量处理,比如在VC++中可以用如下的语句实现数据批量插入(格式化SQL语句时不同编译环境有可能不同,比如VC++中各个语句间用空格相隔)

CString strTestSQL = _T(""); strTestSQL.Format(_T("declare @i int / set @i = 0 / while @i < 3 / begin / insert test(guid1,guid2,enum2,strValue,dwDataSize) values(NewID(), NewID(), 6, '', @i) / Set @i =@i + 1 / end ")); BOOL bRtn = m_myDB->ExecuteSQL(strTestSQL);  

3、批量处理语句:
     利用SQL自身提供批量语句实现数据库的批量处理,比如批量删除语句可以通过Delete实现,表间数据的拷贝或者插入可以通过下面的语句实现:
     MS SQL Server
         Insert into  复制表名称  select语句 (复制表已存在)
        Select  字段列表  into  复制表名称  from  表(复制表不存在)
    Oracle
         Insert into 复制表名称 select语句(复制表已存在)
         create table 复制表名称 as select语句(复制表不存在)
   当然,SQL中还有其它性能更高的批量处理方式,这个有待于学习!

你可能感兴趣的:(oracle,sql,sql,数据库,server,delete,insert)