2017-10-15 8 views
0

1つの変数に複数の入力値を渡すためのPLSQLコードを書くのを助けてください。レコードタイプ、オブジェクト、およびコンストラクタを使用して匿名PLSQLブロックを作成する方法を教えてください。レコード型、オブジェクト、およびコンストラクタを使用してPLSQLに複数の入力値を与えるにはどうすればよいですか?

は、ここで

よろしく、 Veeresh

+0

あなたがこれまでに試してみましたか? –

+0

私は私のデータベースへの読み取りアクセス権を持っているので、私は – Veeresh

+0

宣言タイプTEmpRecは、レコード(社員EMPLOYEES.EMPLOYEE_IDの%のTYPE、姓EMPLOYEES.LAST_NAME%のタイプ)であるように、コレクションを使用して入力を読み込もうとしました。タイプTEmpListはTEmpRecのテーブルです。 vEmpList TEmpList; BEGINセクションのforループを使って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]> 
関連する問題