写 oracle 过程的问题,请教

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:50:31
我这里有个oracle过程,略写如下:
CREATE OR REPLACE PROCEDURE CHECK_CARD(p_card_number varchar2)
as
l_card_number varchar2(20);
... ...
BEGIN
l_card_number:=trim(p_card_number);
... ...
END CHECK_CARD;

这个过程中p_card_number是外部参数传入进来,我想从一个表格里面取出来,select p_card_number from table_tmp;
然后把取出来的p_card_number逐个进行处理,请问怎么实现呢?
使用游标?循环?
如何实现呢?请高手指点一下,不胜感激。
希望较为详细,正确,采用另外再给这些分数,谢谢。

如果是对一个表处理那就没有必要做传入参数了,直接在存储过程里处理就行。

CREATE OR REPLACE PROCEDURE CHECK_CARD
is
ls_card_number table_tmp.p_card_number%TYPE;

CURSOR cur_card_number IS
select p_card_number from table_tmp;
... ...

BEGIN
BEGIN
OPEN cur_card_number;
LOOP
FETCH cur_card_number INTO ls_card_number ;
EXIT WHEN cur_card_number%NOTFOUND;
l_card_number:=rtrim(ltrim(ls_card_number));
......

END LOOP;

END;
... ...
END CHECK_CARD;