将元素添加到空数组

时间:2014-11-05 10:43:07

标签: postgresql plpgsql

在plpgSql中,我需要为空数字数组添加数字,这个空数字数组是可变的。

我的工作是:

DECLARE
    new_arr INTEGER[];
BEGIN
    SELECT array_append(new_arr, 4) INTO new_arr;

这有效,但我不确定,可能存在更好的方法吗?

1 个答案:

答案 0 :(得分:15)

你可以做到,但这种风格有点模糊

使用assign语句,但您不需要忘记正确的初始化。在您的示例中,new_arr不包含空数组。它保持NULL。做:

DECLARE new_arr int[] DEFAULT '{}';
BEGIN
  new_arr := new_arr || 4;
  -- or
  new_arr := array_append(new_arr, 4);

  -- both are equal
如果您查询某些关系,则应使用

SELECT INTO