这个 DB2 游标是循环吗?

2024-01-05

无论是命运还是运气, 我正在致力于将 DB2 存储过程转换为 SQL Server 存储过程。

One thing I could not completely understand in DB2 is cursors1. By looking at it and reading some documentation, it appears that it is only a select statement.

-- DB2 stored procedure code
declare entity_cursor cursor with return for
select *
from TableName;

...
--a lot more cursors like above, and some other code
...

open entity_cursor;

问题

  1. Am I correct in my assumption2 that this is only a select statement actually returning a result set when the cursor is opened?
  2. If an error has occurred before the cursor is opened3, will the SP return a blank result set for entity_cursor?

1: I know that SQL Server they are commonly used for performing operations on row-by-row.
2: Based on reading DB2 documentation and a little on my knowledge and intellect.
3: Unfortunately I cannot fully test the stored procedure in DB2.


对于你的第一个问题:正如评论中提到的,打开游标不会产生结果集,而只是一个(指向)结构,允许您使用FETCH声明或同等内容。此外,当您开始获取记录时,结果集甚至可能没有完全具体化——这取决于实际的查询和各种游标选项。

对于第二个问题:如果您的存储过程在打开游标之前正常或以其他方式返回,则其调用者将获得未初始化的游标结构(当您尝试访问它时将导致异常)而不是空结果集。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这个 DB2 游标是循环吗? 的相关文章

  • 如何编写 T-SQL 查询来为每个客户端选择前 1 条记录?

    我有一个简单的脚本 我试图获取每个客户端的最新记录 我如何在 TSQL 中执行此操作 这是我目前的代码 但是 这只是总共选择了一条记录 此记录显示所有客户的最新记录 而不是每个客户 请问我该如何重新表述 SELECT TOP 1 C Cli
  • “for”SQL Server 附近的语法不正确

    我想向其中已有数据的现有表添加一个新列 该列应该不为空 因此我想设置一个默认值 但是当我这样做时 它会抛出以下异常 for 附近的语法不正确 ALTER TABLE Semester ADD SIDNew uniqueidentifier
  • 将查询结果即时导出到文件

    我需要将查询结果导出到 csv 文件并将该文件放在网络共享文件夹中 是否可以在存储过程中实现此目的 如果是 则会出现另一个限制 我可以在没有系统管理员权限的情况下实现此目的 也就是不使用 xp cmdshell BCP 实用程序吗 如果 2
  • 如何使用 REST API 导出 SSRS 2017 报告

    我已经设置了 SSRS 2017 我需要使用他们的新 REST API 导出 SSRS 报告 我一直在查看 API 规范here https app swaggerhub com apis microsoft rs SSRS 2 0但我在
  • 捕获 SQL Server 时态表删除上的 SysEndTime

    是否可以使用 OUTPUT 关键字捕获 SysEndTime 时间时间戳 例如 DECLARE MyTableVar TABLE sysendtime datetime2 DELETE FROM dbo someTable OUTPUT D
  • 如何在 T-SQL 中将 CSV 转换为记录集?

    在我的存储过程中 我传递一个过滤器 使用 WHERE Column IN 子句 作为参数 参数值以 CSV 形式给出 将此 CSV 转换为记录集的最佳方法是什么 例子 SELECT FROM Employee WHERE Name IN J
  • T-SQL中有异或运算符吗?

    这是我的声明 IF UserName IS NULL AND EditorKey IS NULL OR UserName IS NOT NULL AND EditorKey IS NOT NULL BEGIN RAISERROR One o
  • 存储过程 - 使用 NOT IN where 子句执行查询

    我有一个存储过程 Create PROCEDURE abc sRemovePreviouslySelectedWhereClause nvarchar max AS BEGIN SELECT FROM table WHERE nId NOT
  • CROSS APPLY 不适用于 SQL SERVER 2000?

    如何在 SQL Server 2000 中使用与 CROSS APPLY 等效的功能 我有一个函数返回传递的 id 的顶级父级 ALTER Function dbo fn GetTopParentRiskCategory RctId int
  • 插入后用触发器更新多行(sql server)

    我有一个表 orderDetails 包含订单的产品 产品编号 color size quantity 和一个表库存 产品编号 size color stock 订单完成后 我使用此查询将项目插入表中orderDetails INSERT
  • Id 或 [TableName]Id 作为主键/实体标识符

    是否首选使用 Id 作为主键的列名或 TableName Id 作为命名约定 表 账户主键 ID 相对 表 账户主键 AccountId 在我见过的实现中 它似乎分为 50 50 左右 每种方法的优点和缺点是什么 跟进 在我的数据库中使用一
  • 表名搜索

    我使用以下命令在特定数据库的存储过程中搜索字符串 USE DBname SELECT Name FROM sys procedures WHERE OBJECT DEFINITION OBJECT ID LIKE xxx 修改上面的内容是否
  • 从表中删除孤儿

    我正在尝试清理一张有很多孤立项目的桌子 我通过查找空值来检查是否与另一个表存在关系来解决此问题 DELETE FROM table1 LEFT JOIN table2 ON table1 ID table2 ID WHERE table2
  • 如何使用 DateTime 执行 SQL NOT NULL?

    一个人如何处理DateTime with a NOT NULL 我想做这样的事情 SELECT FROM someTable WHERE thisDateTime IS NOT NULL But how 嗯 它有效吗 我刚刚测试过 Obje
  • 如何在SSRS 2012中显示基于总金额的前10名

    我只需要显示前 10 名Class基于Total SUM Premium 柱子 我转到类代码属性组 gt 过滤器并按 SUM Net Written Premium 设置前 10 名 但它不起作用 我只需要显示前 10 名 而且总金额也应该
  • 正则表达式 '?' 的类似物(前一项可选)在T-SQL中像什么?

    我想知道 是否可以翻译包含 的正则表达式 前面的项目可选 在 T SQL LIKE 模式中 DB 端无需任何操作 例如 31 4 我可以将其分成几个子句 但如果正则表达式包含很多 这不太方便 LIKE不使用正则表达式 并且它使用的模式语言没
  • 拆分列中的字符串并在列中添加值

    我有一个包含几行数据的表 如下所示 16 W 2 Work ALBO 00 Proposal ALxO Amendement 1 20091022 signed pdf 17 W 2 Work ALBO 00 Proposal Level1
  • 避免连接失败时出现空指针

    我有我的域类 带有命名查询 class Atendimento implements Serializable Funcionario funcionario static mapping funcionario column FUNCOD
  • 如何在存储过程中实现 sql 搜索功能 (Sql Server 2008)

    我需要编写一个存储过程 该过程将使用 sql server 2008 根据可选参数搜索表 将会有两种模式 基本搜索模式 我们只传递一些文本 高级搜索模式 使用可选参数而不使用 SearchText 为了进行测试 我使用 AdventureW
  • Amazon RDS for SQL Server 是否支持 SSIS?

    从谷歌搜索中读到一些相互矛盾的答案 不确定答案是是 否还是可能 我觉得读的时候已经很清楚了this http docs aws amazon com AmazonRDS latest UserGuide CHAP SQLServer htm

随机推荐

  • Oozie 不断将旧版本的 httpcore jar 添加到类路径中

    我不断收到异常 因为 Oozie 将错误版本的 httpcore jar 添加到类路径中 我尝试了不同的选项 例如 oozie launcher mapreduce task classpath user precedence oozie
  • 如何设置 TextInputLayout 上计数器的颜色?

    我正在使用包裹在 EditText 周围的 TextInputLayout 现在柜台是黑色的 我希望它是白色的 我不确定要设置什么选项才能使其变为白色
  • Swift UITabBarController 用动画隐藏

    我试图在隐藏时向我的 tabBarController 添加动画 我能够用以下方法实现这种效果navigationBarController通过使用self navigationController isNavigationBarHidde
  • 想要一个实现“@include”的 AWK

    在 gawk 手册中我描述了一个 include操作员 这使您可以制作 awk 模块并共享脚本等 包含文件 到目前为止 我发现 Windows 的最新 cgywin mingw 和 gnu awk s awk gawk mawk nawk
  • 如何在Flutter中制作ArcProgress Bar?

    我正在尝试在 Flutter 中制作弧形进度条 下图是我想要实现的目标 我只能找到CircularProgressIndicator在 flutter 的 widget 目录中 我厌倦了以下包https pub dartlang org p
  • 部署中的密钥保管库值和链接的模板参数

    我有一个模板来创建密钥保管库和其中的秘密 我还有一个 Service Fabric 模板 它需要密钥保管库中的 3 个内容 保管库 URI 证书 URL 和证书指纹 如果我使用 powershell 创建密钥保管库和密钥 则可以轻松地从输出
  • navigator.mediaDevices 在 Chrome 62 的 iOS 上为 null?

    从最新版本的 Chrome 62 开始 仅在 iOS 11 设备下 当我尝试使用navigator mediaDevices 它是空的 文档中没有任何内容表明此功能已被删除 在此期间我开了一个Chrome 下的错误 https bugs c
  • 按特定字母对 JS 字符串数组进行排序

    我必须像这样对字符串数组进行排序 var arr akaw waka kawa akwa 排序类型必须是特定字母 在本例中为 W 因此我的函数必须返回此数组 arr waka kawa akwa akaw 这是一个动态数组 我不知道数组中有
  • 错误:任务“:app:processDebugAndroidTestManifest”执行失败

    这就是我更新 buildToolsVersion 时发生的情况26 0 1 to 26 0 2 错误 任务 all processDebugAndroidTestManifest 执行失败 清单合并失败 属性元数据 android supp
  • Android 应用程序中的所有图像都被视为图标吗?

    这已经困扰我一段时间了 我可能反应过度了 如果是的话请告诉我 但是 我觉得向 Android Studio 项目添加图像资源比应有的困难 不一定说这很难做到 但我觉得这应该是最容易做的事情之一 我对 AS 有点陌生 所以我在这里可能有点不合
  • 如何检测iPhone上的左/右滑动?

    有没有简单的方法来检测 iPhone 的此类手势 我可以使用touchesBegan touchesMoved touchesEnded 但我该如何实现这些手势呢 thz u 您将使用 UISwipeGestureRecognizer 对象
  • 绕着正方形滚动一个圆

    近一个月后 我仍然停留在这个问题上 我设法决定圆圈 或我所说的行人 是否应该向左 向右或向上 向下移动 但我需要有可能移动行人around一座建筑物 这意味着他们必须转角 基本上无论方向如何 他们只需要转90度 非常感谢 import nu
  • Python 中单下划线“_”变量的用途是什么?

    是什么意思 after for在这段代码中 if tbh bag n 0 for in tbh bag atom set n 1 Python 中有 3 个主要的常规用途 保存交互式中最后执行的表达式的结果 口译会议 参见docs http
  • 防止 iOS safari 移动网页窗口,以便发生拖动事件

    我使用 Pep js 进行多点触控上的动态拖动 但我的拖动事件没有被注册 因为当我尝试在 Safari 中拖动对象时 在 iOS 窗口中 窗口本身会移动并跟随我的拖动 如何防止浏览器窗口跟随我的拖动 以便 div 在我的网页中可以拖动吗 这
  • SPRING REST:请求被拒绝,因为未找到多部分边界

    我为 Spring 3 Rest 多部分文件上传做了一个 POC 它工作正常 但是当我尝试与我的应用程序集成时 我遇到了问题 它抛出以下异常 org springframework web multipart MultipartExcept
  • 是否可以创建没有锁的线程安全集合?

    这纯粹是出于兴趣问题 欢迎任何类型的问题 那么是否可以创建没有任何锁的线程安全集合呢 我所说的锁是指任何线程同步机制 包括互斥锁 信号量 甚至互锁 所有这些 是否可以在用户级别而不调用系统函数 好吧 可能实施效果不佳 我对理论上的可能性感兴
  • 如何更改可序列化 python 对象的 json 编码行为?

    更改不可 JSON 序列化的对象的格式很容易 例如 datetime datetime 出于调试目的 我的要求是改变一些自定义对象从基本对象扩展的方式 例如dict and list 以json格式序列化 代码 import datetim
  • PHP-REGEX - 多项选择类型

    我有一个像这样的字符串 str 1 What is love a Haddaway b Haxxaway c Hassaway d Hannaway 2 What is love a Haddaway b Haxxaway c Hassaw
  • 用户名密码验证器和证书

    我有一个使用 net tcp 绑定和自定义 UserNamePasswordValidator 的 Web 服务 用户名和密码由客户端在 Credentials UserName UserName 和 Credentials UserNam
  • 这个 DB2 游标是循环吗?

    无论是命运还是运气 我正在致力于将 DB2 存储过程转换为 SQL Server 存储过程 One thing I could not completely understand in DB2 is cursors1 By looking