2017-10-15 58 views
0

你能幫我寫一個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

回答

0

這裏有一種方法:

[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]> 
相關問題