Oracle中一下插入多行数据
时间: 2024-10-15 16:27:50 浏览: 28
ORACLE数据库中插入大字段数据的解决方法
在Oracle数据库中,如果你想一次插入多行数据,你可以使用`BULK COLLECT INTO`或`INTO TABLE`子句结合`PL/SQL`块来进行批量插入。这里有两种常见的方法:
1. **使用BULK COLLECT INTO**:
```sql
DECLARE
TYPE my_table_type IS TABLE OF your_table.column%TYPE INDEX BY PLS_INTEGER;
l_data my_table_type;
BEGIN
FOR i IN (SELECT * FROM source_table) LOOP
l_data(i.row_number) := i.column1; -- 将源表列赋值给临时表
END LOOP;
INSERT BULK COLLECT INTO your_table(column1)
SELECT * FROM TABLE(l_data);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error occurred while inserting data: ' || SQLERRM);
END;
```
2. **使用INTO TABLE**:
```sql
INSERT ALL
INTO your_table (column1) VALUES (source_table.column1 FROM dual)
INTO your_table (column2) VALUES (source_table.column2 FROM dual) -- 添加更多的列
SELECT * FROM source_table;
```
这两种方法都适用于从查询结果集中插入大量数据。记得在执行之前备份数据,以防意外,并检查权限是否允许插入操作。
阅读全文