| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Pass a table to a procedure
hi to everyone,
I'm using Oracle 8.1.6 and I know that is possibile to pass an entire single
row of a table
to a procedure by using <table_name>%ROWTYPE datatype.
My procedure is (and that's work fine):
PROCEDURE set_creditnote_row ( p_creditnote_row IN
CREDITNOTE_ROWS%ROWTYPE )
IS
BEGIN
INSERT INTO creditnote_rows
( transfer_creditnote_id,
transfer_id,
creditnote_id,
processing_session_id,
item_name,
item_text,
quantity,
charge,
tax_id,
tax_rate,
account )
VALUES
( p_creditnote_row.transfer_creditnote_id,
p_creditnote_row.transfer_id,
p_creditnote_row.creditnote_id,
p_creditnote_row.processing_session_id,
p_creditnote_row.item_name,
p_creditnote_row.item_text,
p_creditnote_row.quantity,
p_creditnote_row.charge,
p_creditnote_row.tax_id,
p_creditnote_row.tax_rate,
p_creditnote_row.account );
END set_creditnote_row;
What I'd like to know is if there's a way to pass many rows of a table to a
procedure?
I'd like to write some like that (but that's wrong):
PROCEDURE set_creditnote_rows ( p_creditnote_rows IN
CREDITNOTE_ROWS%TABLETYPE )
IS
BEGIN
LOOP
p_creditnote_row = fetch_a_row_from (p_creditnote_rows);
set_creditnote_row (p_creditnote_row);
END LOOP
END set_creditnote_rows;
Perhaps I need to pass a cursor of the table to my procedure?
Thanks a lot in advance,
SP
Received on Fri Sep 21 2001 - 03:50:55 CDT
![]() |
![]() |