在调用下面的函数时,我只得到游标返回的所有行的最后一行。在这个陈述中使用游标很重要。
CREATE OR REPLACE FUNCTION fnc_get_contractor_id(cst_username IN VARCHAR2 )
RETURN NUMBER
AS
CURSOR cursor_contract_name IS
SELECT plc.FK2_CONTRACTOR_ID
FROM lds_consultant cons
INNER JOIN lds_account acc on cons.consultant_id = acc.fk1_consultant_id
INNER JOIN lds_placement plc on acc.account_id = plc.FK1_ACCOUNT_ID
WHERE UPPER(cons.USERNAME) = UPPER(cst_username)
AND UPPER(plc.PLT_TO_PERMANENT) = UPPER('Y');
V_contracotr_id number(10);
BEGIN
for rec in cursor_contract_name loop
V_contracotr_id := rec.fk2_contractor_id;
dbms_output.put_line('cst_username : '||cst_username||' V_contracotr_id :'||V_contracotr_id);
--return V_contracotr_id;
END LOOP;
return V_contracotr_id;
END;
/
我怎么能返回所有行,以便我可以使用返回的行创建一个表?