Quelqu'un pourrait-il me dire comment insérer en bloc des données d'un curseur ref dans une table temporaire en PL/SQL? J'ai une procédure que l'un de ses paramètres stocke un jeu de résultats, ce jeu de résultats sera inséré dans une table temporaire dans une autre procédure stockée.Comment insérer en bloc des données du curseur ref dans une table temporaire en PL/SQL
Ceci est mon exemple de code.
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;
Dans SQL Server, je peux écrire code ci-dessous
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
Comment puis-je écrire similaire au code dans SQL Server? Merci.
Ce n'est pas si simple. Mon code est juste un échantillon. La procédure get_account_list contient de nombreux calculs et finalement un ensemble de résultats qui est transféré à d'autres procédures via le paramètre acc_list. Merci. –