在plpgSql中,我需要为空数字数组添加数字,这个空数字数组是可变的。
我的工作是:
DECLARE
new_arr INTEGER[];
BEGIN
SELECT array_append(new_arr, 4) INTO new_arr;
这有效,但我不确定,可能存在更好的方法吗?
答案 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
。