如何使用记录类型,对象和构造函数在PLSQL中输入多个输入值?

问题描述:

你能帮我写一个PLSQL代码来为单个变量传递'多个输入值'吗?请帮助我如何使用Record type,object和constructors编写Anonymous PLSQL块。如何使用记录类型,对象和构造函数在PLSQL中输入多个输入值?

谢谢你,

问候, Veeresh

+0

你尝试过这么远吗? –

+0

由于我只读访问我的数据库,我试图读取输入使用集合,如 – Veeresh

+0

声明类型TEmpRec是记录(EmployeeID EMPLOYEES.EMPLOYEE_ID%TYPE,姓氏EMPLOYEES.LAST_NAME%TYPE);类型TEmpList是TEmpRec的表; vEmpList TEmpList;我试图通过在BEGIN部分循环将它们传递给vEmpList。 – Veeresh

这里有一种方法:

[email protected]> CREATE OR REPLACE TYPE NUM_ARRAY AS TABLE OF NUMBER; 
    2/

Type created. 

[email protected]> create or replace procedure demo_sp (
    in_array in num_array, 
    out_sum out number 
) 
    is 
    BEGIN 
    out_sum := 0; 
    for i in 1 ..in_array.count loop 
    out_sum := out_sum + in_array(i); 
    END LOOP; 
END; 
/

Procedure created. 

[email protected]> DECLARE 
total NUMBER; 
nos NUM_ARRAY; 
BEGIN 
SELECT ROWNUM BULK COLLECT INTO nos FROM dual CONNECT BY ROWNUM<=5; 
FOR I IN 1 .. nos.COUNT LOOP 
dbms_output.put_line(nos(i)); 
end loop; 
demo_sp(nos,total); 
dbms_output.put_line('Total is: '||total); 
END; 
/
1 
2 
3 
4 
5 
Total is: 15 

PL/SQL procedure successfully completed. 

[email protected]>