pgsql函数怎么传数循环数组
时间: 2024-06-18 10:05:21 浏览: 180
在 PostgreSQL 中,可以通过定义函数来实现循环数组。下面是一个示例代码:
```sql
CREATE OR REPLACE FUNCTION loop_array(arr integer[])
RETURNS integer AS $$
DECLARE
i integer;
sum integer := 0;
BEGIN
FOR i IN 1..array_length(arr, 1) LOOP
sum := sum + arr[i];
END LOOP;
RETURN sum;
END;
$$ LANGUAGE plpgsql;
```
这个函数接收一个整型数组作为参数,然后使用 FOR 循环对数组进行遍历,并将数组元素相加得到总和。最后将总和作为返回值返回。
如果需要传递多维数组,可以使用类似于以下的代码:
```sql
CREATE OR REPLACE FUNCTION loop_2d_array(arr integer[][])
RETURNS integer AS $$
DECLARE
i integer;
j integer;
sum integer := 0;
BEGIN
FOR i IN 1..array_length(arr, 1) LOOP
FOR j IN 1..array_length(arr, 2) LOOP
sum := sum + arr[i][j];
END LOOP;
END LOOP;
RETURN sum;
END;
$$ LANGUAGE plpgsql;
```
这个函数接收一个二维整型数组作为参数,然后使用两个嵌套的 FOR 循环对数组进行遍历,并将数组元素相加得到总和。最后将总和作为返回值返回。
阅读全文