创建一个函数插入多条数据到zxf_customers表中(cno,cname,csex,cphone)
时间: 2024-03-18 22:42:04 浏览: 115
c#向数据表中插入多条记录
5星 · 资源好评率100%
好的,以下是一个示例函数,可以插入多条数据到`zxf_customers`表中:
```
CREATE OR REPLACE FUNCTION insert_customers(
p_data zxf_customers[]
)
RETURNS void AS
$BODY$
DECLARE
r zxf_customers;
BEGIN
FOREACH r IN ARRAY p_data
LOOP
INSERT INTO zxf_customers (cno, cname, csex, cphone)
VALUES (r.cno, r.cname, r.csex, r.cphone);
END LOOP;
END;
$BODY$
LANGUAGE plpgsql;
```
假设`zxf_customers`表的结构如下:
```
CREATE TABLE zxf_customers (
cno CHAR(10) PRIMARY KEY,
cname VARCHAR(50) NOT NULL,
csex CHAR(2) NOT NULL,
cphone VARCHAR(20) NOT NULL
);
```
然后,可以使用以下方式调用该函数,插入多条数据:
```
SELECT insert_customers(ARRAY[
ROW('001', 'John', 'M', '1234567890'),
ROW('002', 'Jane', 'F', '0987654321')
]);
```
注意,传递给函数的参数是一个`zxf_customers`类型的数组,数组中的每个元素代表一条要插入的数据,数据的字段顺序与类型必须与`zxf_customers`表中的字段顺序与类型一致。同时,使用`ROW`函数可以方便地创建一个`zxf_customers`类型的行。
阅读全文