ORACLE里面插入多行代码
时间: 2024-09-19 19:08:40 浏览: 31
在Oracle数据库中,如果你想一次性插入多行数据,可以使用BULK INSERT或者动态SQL结合PL/SQL块。以下是两种常见的方法:
1. **BULK INSERT** (适用于大量数据导入):
```sql
BULK COLLECT INTO my_table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(
"column1", "column2", ... -- 数据字段列表
)
FROM '/path/to/your/file.csv'; -- 文件路径
COMMIT;
```
注意:BULK INSERT通常效率较高,但文件需要存在服务器上,并且格式需匹配表结构。
2. **动态SQL和PL/SQL** (适用于少量或多条动态数据):
```sql
DECLARE
v_data_rows VARCHAR2(1000); -- 存储多行数据的字符串
BEGIN
v_data_rows := '("value1", "value2"), ("value3", "value4")'; -- 示例数据
FOR i IN 1..LENGTH(v_data_rows) - LENGTH(REPLACE(v_data_rows, ',', '')) + 1
LOOP
INSERT INTO my_table_name VALUES (
SUBSTR(v_data_rows, i, INSTR(i, ',', -1) - i + 1)
);
END LOOP;
COMMIT;
END;
```
这里通过PL/SQL循环处理并插入数据,数据是以逗号分隔的字符串形式。
阅读全文