如何向数据库关系的子表同时插入多条记录(父表的一条记录对应子表的多条记录)?
如何向数据库关系的子表同时插入多条记录(父表的一条记录对应子表的多条记录)?
我现在是和一般的插入操作是一样的,有多条,就做多次操作,一条一条的插入。这样感觉速度性能会有影响。有没有更好的方法
[解决办法]
给你个很ok的方法啊,把你的N 条 sql 语句塞进 List<string>里,传入介个方法,保证你很happy
#region 带事务操作数据库 /// <summary> /// 带事务的批量操作数据。 /// </summary> /// <param name="sqlInsert">SQL</param> /// <returns>操作是否成功</returns> public static bool OperateDatasWithTransaction(List<string> sqlList) { OracleConnection myConnection = new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnStrOrcl"]); myConnection.Open(); OracleCommand myCommand = myConnection.CreateCommand(); OracleTransaction myTrans; // Start a local transaction myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted); // Assign transaction object for a pending local transaction myCommand.Connection = myConnection; myCommand.Transaction = myTrans; try { foreach (string item in sqlList) { myCommand.CommandText = item; myCommand.ExecuteNonQuery(); } myTrans.Commit(); return true; } catch (Exception) { myTrans.Rollback(); return false; } finally { myConnection.Close(); } } #endregion