sql-server-2012 - 在嵌入式 SQL 的打开游标中使用主机数组
问题描述
我有这个嵌入式 SQL 代码:
EXEC SQL
OPEN MY_CURSOR USING :a1
END-EXEC
其中 a1 是包含 20 个项目的数组,但我不知道我需要多少主机变量。它可以是 1 到 20。如果我以这种方式使用它,而实际上我只使用数组中的 5 个项目,我会收到此错误:
SQLCODE:-10000,SQLSTATE:24000,SQLERRMC:无效游标状态
有没有可能如何在 OPEN CURSOR 部分发送数组中使用的项目数?或者我必须使用具有确切数量的项目的数组?
解决方案
“OPEN CURSOR”语句中的主变量是指 where 子句中的参数。
未在 OPEN 时返回数据。
相反,您可以通过发出“FETCH INTO :var1, :var2 ...”来获取每一行,这与单行选择非常相似。
推荐阅读
- asp.net-core - 从 .Net 核心中的 Web Api 控制器返回 http 状态代码
- python - 如何用硒抓取所有数据
- java - 构建失败:app:processDebugResources 使用 Android Studio
- java - 将具有属性的 Java 枚举序列化为 json 对象
- c++ - 识别 PCI 设备是 PCI 还是 PCIe
- wordpress - 哪个是启动 openiddict 服务器以提供登录到 wordpress 的最佳示例/方法?
- c - 为什么 if else 在 c 中没有响应
- javascript - 单击按钮后如何使用jQuery仅显示一个div
- r - AMCE 在与 cregg 包的联合分析中估计高于 1
- omnet++ - 如何在 Omnetpp.ini 中设置 config-name 参数?