pqsql 一条sql语句插入多条数据
时间: 2024-10-17 17:06:35 浏览: 1
PQSQL(PostgreSQL SQL)中,如果需要一次性插入多行数据,通常可以使用`INSERT INTO ... VALUES`语句结合数组或表值参数(Table Value Parameters)的方式。这里假设你有一个名为`table_name`的表,有列`column1`, `column2`, 和 `column3`。
如果你的数据是一维数组形式:
```sql
WITH data AS (
VALUES
(value1_1, value2_1, value3_1),
(value1_2, value2_2, value3_2),
-- 更多行...
)
INSERT INTO table_name (column1, column2, column3)
SELECT * FROM data;
```
如果你的数据是表格形式(适合大量数据插入):
```sql
DO $$
DECLARE
values CURSOR FOR SELECT *
FROM (VALUES
('value1_1', 'value2_1', 'value3_1'),
('value1_2', 'value2_2', 'value3_2'),
-- 更多行...
) AS my_table;
BEGIN
FOR row IN values LOOP
INSERT INTO table_name (column1, column2, column3) VALUES (row.column1, row.column2, row.column3);
END LOOP;
END $$;
```
这里的`DO`是一个特殊语法,允许你在PL/pgSQL块中执行命令。
阅读全文