使用游标查询产品表PRODUCT中所有产品的信息
DECLARE
row PRODUCT%ROWTYPE;
CURSOR CURPRODUCT3 IS
SELECT *
FROM PRODUCT
BEGIN
OPEN CURPRODUCT3
LOOP
FETCH CURPRODUCT3 INTO row;
' EXIT WHEN CURPRODUCT3%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(row.PRODID||','||row.PRODNAME||','||row.CATEGORYID||','||row.DESCRIPTION);
END LOOP;
CLOSE CURPRODUCT3;
END;
使用游标查询产品表PRODUCT中“T002”类型的所有产品信息
DECLARE
CURSOR CURPRODUCT5(cid PRODUCT.CATEGORYID%TYPE) IS
SELECT *
FROM PRODUCT
WHERE CATEGORYID=cid;
BEGIN
FOR prod IN CURPRODUCT5('T002') LOOP
DBMS_OUTPUT.PUT_LINE(prod.PRODID||','||prod.PRODNAME||','||prod.CATEGORYID||','||prod.DESCRIPTION);
END LOOP;
END
也可以通过FOR循环内嵌入查询语句来实现类似游标的功能,相应的PL/SQL代码如下所示:
BEGIN
FOR prod in(SELECT * FROM PRODUCT WHERE CATEGORYID='T002') LOOP
DBMS_OUTPUT.PUT_LINE(prod.PRODID||','||prod.PRODNAME||','||prod.CATEGORYID||','||prod.DESCRIPTION);
END LOOP
END;