【发布时间】:2012-01-03 08:57:23
【问题描述】:
在 foreach 循环中一次又一次地调用存储过程以将数据插入到 Oracle 表中是否是一种好习惯?还是有其他方法可以做到这一点?
我有以下程序:
procedure proc1 (id in varchar2,
level in varchar2,
title in varchar2,
p_id in varchar2,
url in varchar2)
这是调用它的代码:
foreach (var c in xDoc.Descendants("cat"))
{
// call store procedure provide all values
foreach (var a in xDoc.Descendants("abc"))
{
// call store procedure provide values
foreach (var d in xDoc.Descendants("def"))
{
// call stored procedure provide values
}
}
}
有没有更好的方法来做到这一点?
【问题讨论】:
-
这听起来可能是个坏主意,但如果没有清楚地了解您要完成的工作,我无法提供建议。你能解释一下你在做什么吗?
-
@wweicker - 我正在尝试从每个 foreach 循环中提取数据并将该数据输入到 oracle 表中。示例:第一个循环给出 5 个值:"1, 2, Null, Null, Null) 第二个循环给出 (1, 2, 3, Null, Null) 第三个循环给出 (1, 2, 3, 4, 5)。而 i只需要按此顺序排列的值。
-
您想在内部循环的每次迭代中将数据插入到 Oracle 表中?
-
@wweicker- 是的,外循环也是。就像第一个循环将有 1、2、3、null、null.. 第二个循环将从第一个循环 1、4、5、5、null 中获取一个值并执行插入。依此类推,第三个循环将从第二个循环中获取一个值并进行插入。
标签: c# oracle stored-procedures