计算oracle游标中的记录数
我需要知道oracle游标(过程的输出参数)的记录数 游标在Oracle包的主体上声明,是一种类型is REF cursor 在过程2(相同的包)内部,我调用过程1并获得输出游标 我需要循环这个输出游标并计算记录的数量。我已经测试了很多示例,但是,任何示例都有效计算oracle游标中的记录数,oracle,cursor,package,procedure,Oracle,Cursor,Package,Procedure,我需要知道oracle游标(过程的输出参数)的记录数 游标在Oracle包的主体上声明,是一种类型is REF cursor 在过程2(相同的包)内部,我调用过程1并获得输出游标 我需要循环这个输出游标并计算记录的数量。我已经测试了很多示例,但是,任何示例都有效 谢谢,如果不进行迭代,就不可能获得游标的计数。光标就像指向数据的指针,而不是数据本身。所以,如果您需要计数,您必须循环直到光标%notfound。这里有类似于cursor%ROWCOUNT的内容,但是上面说: 可以附加到游标或游标变量名
谢谢,如果不进行迭代,就不可能获得游标的计数。光标就像指向数据的指针,而不是数据本身。所以,如果您需要计数,您必须循环直到
光标%notfound
。这里有类似于cursor%ROWCOUNT
的内容,但是上面说:
可以附加到游标或游标变量名称的游标属性。当光标打开时,%ROWCOUNT为零。在第一次提取之前,游标名称%ROWCOUNT返回0。此后,它返回到目前为止获取的行数。如果最新获取返回一行,则该数字将递增
因此,获取计数的唯一方法是执行
选择count(*)from--与游标中的条件相同,或者循环游标(获取所有数据)然后检查%rowcount
或仅为每个游标记录增加变量,但最快的方法可能是从游标大容量获取所有记录,并使用%rowcount不迭代就无法获取游标计数。光标就像指向数据的指针,而不是数据本身。所以,如果您需要计数,您必须循环直到光标%notfound
。这里有类似于cursor%ROWCOUNT
的内容,但是上面说:
可以附加到游标或游标变量名称的游标属性。当光标打开时,%ROWCOUNT为零。在第一次提取之前,游标名称%ROWCOUNT返回0。此后,它返回到目前为止获取的行数。如果最新获取返回一行,则该数字将递增
因此,获取计数的唯一方法是执行选择count(*)from--与游标中的条件相同,或者循环游标(获取所有数据)然后检查%rowcount
或仅为每个游标记录增加变量,但最快的方法可能是从游标大容量获取所有记录并使用%rowcount请显示一些相关代码。“select count(*)…”有什么问题?要计算游标的记录数,需要从该游标读取(获取)所有记录。光标就像java中的一个文件(流)——您必须阅读整个文件才能知道该文件的多行。请显示一些相关代码。“select count(*)…”有什么问题?要计算游标的记录数,需要从该游标读取(获取)所有记录。光标就像java中的一个文件(流)——您必须读取整个文件才能知道该文件的许多行。