oracle批量添加数据
时间: 2024-11-24 22:15:09 浏览: 26
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)
);
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)