oracle 批量插入
时间: 2023-06-28 13:07:34 浏览: 64
Oracle的批量插入可以使用PL/SQL语言中的FORALL语句来实现,FORALL语句可以将多个DML语句打包为一个整体进行提交,从而提高插入效率。
以下是一个示例代码,实现了向表中批量插入多条数据:
```
DECLARE
TYPE t_data IS RECORD (
col1 NUMBER,
col2 VARCHAR2(50),
col3 DATE
);
TYPE t_data_tab IS TABLE OF t_data;
l_data t_data_tab := t_data_tab();
BEGIN
-- 添加数据到l_data中
l_data.extend(3);
l_data(1) := t_data(1, 'row1', SYSDATE);
l_data(2) := t_data(2, 'row2', SYSDATE);
l_data(3) := t_data(3, 'row3', SYSDATE);
-- 批量插入数据
FORALL i IN l_data.first .. l_data.last
INSERT INTO my_table (col1, col2, col3)
VALUES (l_data(i).col1, l_data(i).col2, l_data(i).col3);
COMMIT;
END;
```
在上述代码中,首先定义了一个记录类型t_data,用于存储表中每一行的数据。然后定义了一个t_data_tab类型的表,用于存储多条数据。接着在程序中初始化了l_data表,将要插入的数据添加到其中。最后使用FORALL语句批量插入数据到my_table表中,并使用COMMIT语句提交事务。
阅读全文