oracle plsql怎么查询多个表的多个字段 10
createorreplaceprocedurepro_test4(mycursoroutsys_refcursor)isv_sqlvarchar2(200);begin...
create or replace procedure pro_test4( mycursor out sys_refcursor )is v_sql varchar2(200);begin v_sql:='select distinct t2.Order_Id,t2.Customer,t1.NAME,t1.Sale_Under_Limit,(select sum((t_Orderdetail.Price*t_orderdetail.quantity)) from t_Orderdetail ,t_order where t_Orderdetail.Order_Id=t_order.order_id) as money from T_Sales t1 inner join T_order t2 on t1.sales_id=t2.sales_id , T_orderDetail t3 right join t_Order t4 on t3.order_id=t4.order_id'; open mycursor for v_sql;end;--问题:创建什么类型的变量接受游标返回的值declaremycursor sys_refcursor;beginend;
假如: (有一个存储过程) 简写:
储存过程名字 : pro_test( 定义形参游标: mycursor out sys_refcursor; );
查询语句 : sql:=' select A.*,B.* from A,B';
打开游标把查询结构存入游标中: open mycursor for sql
(执行这个存储过程)
v_mycursor sys_refcursor 定义接收游标
这个 ? 结果用什么 类型存接收 <<<----------- 最重要的问题
变量名 ? %rowtype;
执行储存过程 : pro_test( v_mycursor );
遍历游标中的值
loop
fetch v_mycursor into ?
end loop; 展开
假如: (有一个存储过程) 简写:
储存过程名字 : pro_test( 定义形参游标: mycursor out sys_refcursor; );
查询语句 : sql:=' select A.*,B.* from A,B';
打开游标把查询结构存入游标中: open mycursor for sql
(执行这个存储过程)
v_mycursor sys_refcursor 定义接收游标
这个 ? 结果用什么 类型存接收 <<<----------- 最重要的问题
变量名 ? %rowtype;
执行储存过程 : pro_test( v_mycursor );
遍历游标中的值
loop
fetch v_mycursor into ?
end loop; 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询