Czy ktoś mógłby mi powiedzieć, jak wstawić dane masowe z kursora ref do tabeli tymczasowej w PL/SQL? Mam procedurę, że jeden z jej parametrów przechowuje zestaw wyników, ten zestaw wyników zostanie wstawiony do tabeli tymczasowej w innej procedurze przechowywanej.Jak wstawić dane zbiorcze z kursora ref do tabeli tymczasowej w PL/SQL
To jest mój przykładowy kod.
CREATE OR REPLACE PROCEDURE get_account_list
(
type_id in account_type.account_type_id%type,
acc_list out sys_refcursor
)
is
begin
open acc_list for
select account_id, account_name, balance
from account
where account_type_id = type_id;
end get_account_list;
CREATE OR REPLACE PROCEDURE proc1
(
...
)
is
accounts sys_refcursor;
begin
get_account_list(1, accounts);
--How to bulk insert data in accounts to a temporary table?
end proc1;
W SQL Server, można napisać kod jak poniżej
CREATE PROCEDURE get_account_list
type_id int
as
select account_id, account_name, balance
from account
where account_type_id = type_id;
CREATE PROCEDURE proc1
(
...
)
as
...
insert into #tmp_data(account_id, account_name, balance)
exec get_account_list 1
Jak mogę napisać podobny do kodu w SQL Server? Dzięki.
To nie takie proste. Mój kod to tylko próbka. Procedura get_account_list ma wiele obliczeń w środku i ostatecznie pojawia się zestaw wyników, który jest przenoszony do innych procedur za pośrednictwem parametru acc_list. Dzięki. –