pgsql 循环insert
时间: 2023-07-09 22:30:54 浏览: 146
在 PostgreSQL 中可以使用循环结构来插入多行数据。一般来说,可以使用 PL/pgSQL 编写存储过程或函数来实现这个过程。
以下是一个示例存储过程,它使用循环结构插入多行数据:
```
CREATE OR REPLACE PROCEDURE insert_rows()
LANGUAGE plpgsql
AS $$
DECLARE
i INTEGER := 1;
BEGIN
WHILE i <= 10 LOOP
INSERT INTO my_table (column1, column2) VALUES ('value1', 'value2');
i := i + 1;
END LOOP;
END $$;
```
上面的示例定义了一个名为 insert_rows 的存储过程,它使用 WHILE 循环结构插入了 10 行数据到 my_table 表中。每次循环,插入一个新行,并将 i 的值增加 1,直到 i 的值大于 10。
在执行存储过程之前,需要先创建 my_table 表并定义 column1 和 column2 列的数据类型:
```
CREATE TABLE my_table (
column1 TEXT,
column2 TEXT
);
```
然后,可以使用以下语句来执行存储过程:
```
CALL insert_rows();
```
执行后,my_table 表将包含 10 行数据,每行都包含相同的值 'value1' 和 'value2'。
需要注意的是,循环插入数据可能会影响数据库性能,特别是当插入的行数非常大时。因此,建议在插入大量数据时使用一次性插入多行数据的方法,而不是循环插入。
阅读全文