如何一次插入多条记录

bdlgs 2006-07-27 01:44:36
请问,在asp.net中向oracle数据库中插入多条类似如下的语句,也就是作为一个事务提交,为什么不行呢?难道非要用循环,一条一条插入吗?要是这样的话,第二句出错的话,第一句就不能回滚了:

insert into tableA values('a','b');
insert into tableB values('c','d','e');
....
...全文
673 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanshiyu123 2006-07-28
  • 打赏
  • 举报
回复
这不还是一条一条插的吗....
snooper 2006-07-27
  • 打赏
  • 举报
回复
你要写自己的事务处理,如下(C#,具体你用的什么语言再看着改吧);
OracleConnection myConnection = new OracleConnection(myConnString);
myConnection.Open();

OracleCommand myCommand = myConnection.CreateCommand();
OracleTransaction myTrans = myConnection.BeginTransaction();
myCommand.Transaction = myTrans;

try
{
myCommand.CommandText = "insert into tableA values('a','b')";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into tableB values('c','d','e')";
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into tableC values('x','y')";
myCommand.ExecuteNonQuery();
myTrans.Commit();
}
catch(Exception e)
{
myTrans.Rollback();
}
finally
{
myConnection.Close();
}
bdlgs 2006-07-27
  • 打赏
  • 举报
回复
我的意思是:
OracleComm.CommandText = "insert into tableA values('a','b');insert into tableB values('c','d','e');insert into tableC values('x','y');"

sqlserver2000这种方式提交是可以的
oracle里这种方式是行不通的,不知道为什么
sxykje 2006-07-27
  • 打赏
  • 举报
回复
可以么?
learning..
帮顶
bdlgs 2006-07-27
  • 打赏
  • 举报
回复
自己顶一下!

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧