oracle - 从显式光标中选择
问题描述
有没有办法从显式游标中进行选择,而不必使用带IF
条件的循环来过滤游标?
换句话说,如果我有以下光标......
CURSOR cur_emp IS
SELECT * FROM emp;
有没有办法做到以下几点?
DECLARE
v_row cur_emp%ROWTYPE;
BEGIN
SELECT * INTO v_row FROM cur_emp WHERE id_emp < 10;
/* Do something */
END;
解决方案
否,但改为更改光标
CURSOR cur_emp(iEmpid in emp.id_emp%TYPE) IS
SELECT * FROM emp
WHERE id_emp < iEmpid;
和
for rEmp in cur_emp(10) loop
-- do something
end loop;
或者
跳过光标并将洞的东西放入 for 循环中,它同样有效。
for rEmp in (SELECT * FROM emp WHERE id_emp < 10) loop
-- do something
end loop;
推荐阅读
- python - 使用程序本身更新使用 Pyinstaller 创建的程序依赖项
- elasticsearch - elasticsearch最大连接数
- c# - aspx 网站维护 - 缺少 .cs 文件
- python - 枚举用于在 Python 中查找元素的列表
- c - 为什么 scanf(%s) 中的 char 参数即使乱序也不能显示在 %c 中?
- .net - 在域端升级 .Net 版本
- r - 根据与 dplyr 的部分匹配替换数据框中任何位置的整个字符串
- php - 通过 call_user_func 和 ::call 在类中调用闭包的区别
- c# - WPF Toolkit Extended - 将下拉按钮关闭事件绑定到 ViewModel 方法
- jira - 强制将合并请求链接放在“准备合并”列中