温馨提示×

oracle存储过程怎么批量添加数据

小亿
195
2023-08-21 12:26:41
栏目: 云计算

要批量添加数据,可以使用Oracle的FORALL语句结合BULK COLLECT功能。以下是一个示例的存储过程,用于批量添加数据:

CREATE OR REPLACE PROCEDURE add_data_bulk (
p_data_list IN SYS.ODCIVARCHAR2LIST
)
IS
TYPE t_data IS TABLE OF your_table%ROWTYPE;
l_data t_data;
BEGIN
-- 将输入的数据列表转换为表类型
FORALL i IN 1..p_data_list.COUNT
INSERT INTO your_table VALUES p_data_list(i);
-- 提交事务
COMMIT;
-- 可以根据需要进行其他操作
END;

在调用存储过程时,需要将要添加的数据字符串列表传递给存储过程。

例如,如果要添加名为"John"和"Sara"的两个人的数据,可以使用以下代码:

DECLARE
l_data_list SYS.ODCIVARCHAR2LIST := SYS.ODCIVARCHAR2LIST('John', 'Sara');
BEGIN
add_data_bulk(p_data_list => l_data_list);
END;

这样就会将"John"和"Sara"的数据批量添加到表中。你可以根据自己的需求调整存储过程和数据。

0