gpt4 book ai didi

c# - 如何在存储过程中遍历数组,返回数组?

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:05 25 4
gpt4 key购买 nike

我正在编写的存储过程的一部分(在 Oracle 数据库上)将向 C# 应用程序返回一个整数值数组。我以前从未这样做过,而且我无法在网上找到有关如何在存储过程中执行此操作的信息。

在 C# 端,我已连接到数据库并创建了一个存储过程命令。我正在使用:

cmd.Parameters.Add("returnID", OracleDbType.Array, ParameterDirection.Output);

抓取数组。

在存储过程中,我有:

CREATE OR REPLACE PROCEDURE ODM(/* not relevant*/, returnIDs OUT ARRAY)
IS
BEGIN
...
END ODM;

其中returnIDs是我要输出的数组,全是整数。

我需要能够遍历表、ORDERS,并获取两个值之间的所有整数主键,并将它们添加到 returnIDs 中。

我希望有类似于插入数组的东西,其中主键位于最小值和最大值之间,但我不确定。

能够声明这些值、遍历表并添加到我的输出数组的语法是什么?

编辑:解决方案:Bulk Collect 可以解决这个问题,但是将最小值和最大值返回到我的程序然后在其中进行单独的选择要容易得多。

最佳答案

我不确定您是否需要循环。根据 ARRAY 类型的定义,您可能只是

SELECT primary_key
BULK COLLECT INTO returnIDs
FROM orders
WHERE primary_key BETWEEN low_value AND high_value

关于c# - 如何在存储过程中遍历数组,返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6958431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com