这是我的存储过程:
CREATE OR REPLACE FUNCTION save_array(arraynumbers integer[], arraystrings text[])
RETURNS void AS $$
BEGIN
INSERT INTO employees (id, name)
VALUES (arraynumbers[0], arraystrings[0]),
(arraynumbers[1], arraystrings[1]),
(arraynumbers[2], arraystrings[2])
END;
$$
LANGUAGE PLPGSQL;
如何实现循环以将数组的每个索引另存为新记录?
答案 0 :(得分:1)
您可以将insert ... select
与unnest()
一起使用。而且您不需要PL / pgSQL:
CREATE OR REPLACE FUNCTION save_array(arraynumbers integer[], arraystrings text[])
RETURNS void
AS $$
insert into employees(id, name)
select unnest(arraynumbers), unnest(arraystrings);
$$
LANGUAGE sql;