日期:2014-05-18  浏览次数:21167 次

C# 批处理 Oracle 语句 Oracle 达人进
项目中有c# 

SqlModel 类下面

SelectModel(生成查询语句)
如 SelectModel.select("fullname").From("Sysuser").where ("1=1");
 ,UpdateModel(生成更新语句),InsertModel(插入语句),DeleteModel(删除语句)


SqlModel解析
生成Oracle语句中包含
多个语句 如 1.Update SysUser set LoginName=‘123’ where fullName='zz';
  2.insert SysEntity select * from SysEntity where name='zz';
  3. create global Temportary table TempTable as select * from SysEntity;
  4.select * from TempTable
   
 我想让 生成的语句(像SqlServer那样)“批量”执行
 最终返回结果集;
各位大大可否提供下思路。。。。 如何生成最终可用的Oracle语句代码
(讲得有点乱 大家蛮看下)
   



------解决方案--------------------
Oracle和sqlserver不一样 不支持批处理
应该可以用存储过程来做吧
------解决方案--------------------
帮顶一个先
------解决方案--------------------
存储过程
------解决方案--------------------
这种方式可以批量提交
begin;
Update SysUser set LoginName=‘123’ where fullName='zz'; 
insert SysEntity select * from SysEntity where name='zz'; 
end;
就是在语句前面加 begin;
结束后加end;
------解决方案--------------------
刚做一个转数据的东东,因为要写日志,所以,我都是一条一条转的.
ORACLE批处理,不太了解.
------解决方案--------------------
采用IBatisNet
C# code

                    Mapper.BeginTransaction();
            try
            {
                Mapper.QueryForOracleDataTable("", oTable);
                Mapper.Insert("",);
                Mapper.CommitTransaction();
            }
            catch (System.Exception ee)
            {
                Mapper.RollBackTransaction();
            }

------解决方案--------------------
但是批量执行返回结果集,只能用游标
或者在事务开启中查询,然后结束事务
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html