0
1つの変数に複数の入力値を渡すためのPLSQLコードを書くのを助けてください。レコードタイプ、オブジェクト、およびコンストラクタを使用して匿名PLSQLブロックを作成する方法を教えてください。レコード型、オブジェクト、およびコンストラクタを使用してPLSQLに複数の入力値を与えるにはどうすればよいですか?
は、ここで
よろしく、 Veeresh
1つの変数に複数の入力値を渡すためのPLSQLコードを書くのを助けてください。レコードタイプ、オブジェクト、およびコンストラクタを使用して匿名PLSQLブロックを作成する方法を教えてください。レコード型、オブジェクト、およびコンストラクタを使用してPLSQLに複数の入力値を与えるにはどうすればよいですか?
は、ここで
よろしく、 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]>
あなたがこれまでに試してみましたか? –
私は私のデータベースへの読み取りアクセス権を持っているので、私は – Veeresh
宣言タイプTEmpRecは、レコード(社員EMPLOYEES.EMPLOYEE_IDの%のTYPE、姓EMPLOYEES.LAST_NAME%のタイプ)であるように、コレクションを使用して入力を読み込もうとしました。タイプTEmpListはTEmpRecのテーブルです。 vEmpList TEmpList; BEGINセクションのforループを使ってvEmpListに渡そうとしました。 – Veeresh