oracle批量添加数据
时间: 2024-11-24 15:15:09 浏览: 28
Oracle数据库中的批量添加数据通常通过SQL的INSERT INTO ... VALUES 或者 UNPIVOT 进行,可以提高效率并减少网络往返次数。以下是两种常见方法:
1. 使用`BULK COLLECT`和`LOOP`循环插入:
```sql
DECLARE
TYPE my_table_type IS TABLE OF VARCHAR2(100);
v_data my_table_type := my_table_type();
BEGIN
FOR i IN 1..100 LOOP
v_data.extend;
v_data(v_data.count) := 'value_' || i;
END LOOP;
INSERT ALL
INTO table_name (column1, column2)
SELECT column1, column2 FROM TABLE(v_data);
INTO table_name2 (column1)
SELECT column1 FROM TABLE(v_data);
COMMIT; -- 提交事务,确保所有数据一次性插入
END;
```
2. 使用`UNPIVOT`操作将一列拆分成多列:
```sql
INSERT INTO table_name (column1, column2)
SELECT column1, value
FROM (
SELECT 'value_' || ROW_NUMBER() OVER () AS value
FROM DUAL
CONNECT BY LEVEL <= 100
)
UNPIVOT (
value
FOR column2 IN (column1 AS value)
);
```
阅读全文
相关推荐















