sql – 我可以在过程中传递游标吗?
发布时间:2020-05-24 11:51:15 所属栏目:MsSql 来源:互联网
导读:我可以在程序中传递光标吗? CURSOR BLT_CURSOR ISSELECT BLT.sol_id, BLT.bill_id, BLT.bank_idFROM BLT; 是我的光标. Procedure abc(i want to pass the cursor here) 我该怎么做. 我假设你正在使用Oracle(它会出现这种情况). 你可以这样做:
|
我可以在程序中传递光标吗? CURSOR BLT_CURSOR IS SELECT BLT.sol_id,BLT.bill_id,BLT.bank_id FROM BLT; 是我的光标. Procedure abc(i want to pass the cursor here) 我该怎么做. 解决方法我假设你正在使用Oracle(它会出现这种情况).你可以这样做: PROCEDURE abc( p_cursor IN SYS_REFCURSOR) IS
v_sol_id blt.sol_id%TYPE;
v_bill_id blt.bill_id%TYPE;
v_bank_id blt.bank_id%TYPE;
BEGIN
LOOP
FETCH p_cursor INTO v_sol_id,v_bill_id,v_bank_id;
EXIT WHEN p_cursor%NOTFOUND;
...
END LOOP;
END;
然后使用它: DECLARE
v_cursor SYS_REFCURSOR;
BEGIN
OPEN v_cursor FOR
SELECT BLT.sol_id,BLT.bank_id
FROM BLT;
abc (v_cursor);
CLOSE v_cursor;
END;
但是,请注意,过程abc需要知道游标的结构,即它返回3列特定类型.如果您希望能够将任何游标传递给该过程,那么您需要查看使用DBMS_SQL包(这不是一件容易的事!) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sqlserver实现oracle的sequence方法
- SQL Server 该行已经属于另一个表 的解决方法
- sql-server – 如何将SQL Server 2005更改为区分大小写?
- sql-server – 按日期范围内的频率划分的SQL组
- sql – 在一个语句中选择两个表的连接中的第一行
- sql编程工具Sql Prompt下载及安装破解图文教程
- sql – 将sp_helptext的结果作为单个字符串获取
- sql – 调用远程标量值函数时出错
- sql-server – 执行计划显示昂贵的CONVERT_IMPLICIT操作.我
- sql-server – SQL Server多用户中的临时表是否安全?
