Có thể cho tôi biết cách chèn số lượng lớn dữ liệu từ con trỏ ref vào bảng tạm thời trong PL/SQL không? Tôi có một thủ tục rằng một trong các tham số của nó lưu trữ một tập kết quả, tập kết quả này sẽ được chèn vào một bảng tạm thời trong một thủ tục lưu sẵn khác.Làm thế nào để chèn số lượng lớn dữ liệu từ con trỏ ref vào bảng tạm thời trong PL/SQL
Đây là mã mẫu của tôi.
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;
Trong SQL Server, tôi có thể viết dưới dạng mã dưới đây
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
Làm thế nào tôi có thể viết tương tự như mã trong SQL Server? Cảm ơn.
Nó không phải là dễ dàng. Mã của tôi chỉ là một mẫu. Các thủ tục get_account_list có nhiều tính toán bên trong và cuối cùng đi kèm với một tập kết quả được chuyển giao cho các thủ tục khác thông qua acc_list tham số. Cảm ơn. –