内容发布更新时间 : 2024/12/24 3:05:03星期一 下面是文章的全部内容请认真阅读。
TRIM(N.name)=TRIM(c_nationname);
BEGIN
OPEN mycursor (p_nationname); LOOP
FETCH mycursor INTO res; IF mycursor%NOTFOUND THEN EXIT; END IF;
SELECT SUM(extendedprice * (1-discount)*(1+tax))INTO
L_totalprice
FROM Lineitem
WHERE orderkey=res.orderkey ;
UPDATE Orders SET totalprice=L_totalprice WHERE orderkey=res.orderkey; END LOOP;
CLOSE mycursor; END;
② 执行存储过程ProcParaCursor_CalTotalPrice()
CALL ProcParaCursor_CalTotalPrice('中国');
五、实验总结
1.REFCURSOR类型的游标定义一个游标应用变量,只是再打开该类型游标时才指定具体的SELECT语句以便产生游标的结果集。因此,REFCURSOR实质上是定义了一个动态游标,可以灵活方便地根据程序运行时情况的变动设置游标的SELECT查询结果集。
2.从任务(1)可以看出,游标可以实现对数据库记录逐条处理,而不是整个结果集一起处理,因此,游标是在PL/SQL语言中实现过程化处理的核心功能。 3.从任务(3)看出,记录对于游标结果记录的处理很方便,通过记录变量可以直接访问记录的每个属性,而无需为记录的每个属性定义相应的变量。