PostgreSQL - 如何将参数(数组)保存到单个记录中
PostgreSQL - How to save a parameter (array) into single records
这是我的存储过程:
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;
如何实现循环将数组的每个索引保存为新记录?
您可以将 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;
这是我的存储过程:
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;
如何实现循环将数组的每个索引保存为新记录?
您可以将 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;