我想在Oracle中使用OracleParameter中的“insert all”语句。我只能在一次执行中插入可变数字行。我怎样才能做到这一点? 这里是一些代码:在odp.net中插入多行参数
string queryInsertRecipients = "INSERT INTO YS_ES_TO(EMAILID,EMAILTO) VALUES(:pEMAILID,:pEMAILTO)";
OracleConnection connection = OracleConnectionOpen("csEmailManagement");
OracleCommand command = new OracleCommand();
OracleParameter[] toParameters = new OracleParameter[2];
for (int i = 0; i < emailMessageList.Length; i++)
{
toParameters[0] = command.Parameters.Add("pEMAILID", OracleDbType.Int32, emailId, ParameterDirection.Input);
toParameters[1] = command.Parameters.Add("pEMAILTO", OracleDbType.Varchar2, emailMessageList[i], ParameterDirection.Input);
command.CommandText = queryInsertRecipients;
command.Connection = connection;
}
为什么一定要你在一个执行办呢? – 2013-05-09 13:44:47
以获得最佳性能。 – cejoseph 2013-05-09 13:49:24
我不认为这是可能的,因为每个命令只能有一个相同名称的参数。无论如何,这听起来不是一个好主意......永远记住,过早优化是万恶之源。 – 2013-05-09 13:57:29