zom*_*ers 1 c# arrays oracle stored-procedures
我正在编写的存储过程的一部分(在Oracle DB上)将向ac#app返回一个整数值数组.我以前从未这样做过,我无法在线查找有关如何在存储过程中执行此操作的信息.
在C#端,我已连接到DB并创建了存储过程命令.我正在使用:
cmd.Parameters.Add("returnID", OracleDbType.Array, ParameterDirection.Output);
Run Code Online (Sandbox Code Playgroud)
抓住阵列.
在存储过程中,我有:
CREATE OR REPLACE PROCEDURE ODM(/* not relevant*/, returnIDs OUT ARRAY)
IS
BEGIN
...
END ODM;
Run Code Online (Sandbox Code Playgroud)
其中returnIDs是我想要输出的数组,其中包含整数.
我需要能够循环遍历表ORDERS,并获取两个值之间的所有整数主键,并将它们添加到returnID中.
我希望theres soemthing类似于插入数组,其中主键在最小值和最大值之间,但我不确定.
什么是能够声明这些值的语法,循环遍历表并添加到我的输出数组?
编辑:解决方案:批量收集可以为此工作,但只是将最小值和最大值返回到我的程序,然后在那里单独选择更容易.
我不确定你是否需要循环.根据ARRAY类型的定义,您可能只是
SELECT primary_key
BULK COLLECT INTO returnIDs
FROM orders
WHERE primary_key BETWEEN low_value AND high_value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |