首页 > 解决方案 > 过程 PL/SQL 中的光标

问题描述

我已经成功创建了检查库存项目的程序,语法如下:

create or replace procedure check_stock
AS
CURSOR check_stock IS
select category.category_name, item.item_name, item.stock from category join item on category.category_id = item.category_id;
begin
for stock in check_stock
LOOP
DBMS_OUTPUT.PUT_LINE(stock.category_name||' '||stock.item_name||' '||stock.stock);
END LOOP;
End;

现在我想创建相同的程序,但我需要输入项目名称,所以输出是我输入的那个项目名称的库存,有人可以使用我上面给出的语法告诉我方式/语法吗?谢谢

标签: oracleplsqlcursorprocedure

解决方案


create or replace procedure check_stock ( v_item_name in Integer )
AS
CURSOR check_stock IS
select category.category_name, item.item_name, item.stock from category join item on category.category_id = item.category_id where item.item_name = v_item_name ;
begin
for stock in check_stock
LOOP
DBMS_OUTPUT.PUT_LINE(stock.category_name||' '||stock.item_name||' '||stock.stock);
END LOOP;
End;

推荐阅读