我尝试对ent_id数组执行3个操作(2个删除和1个更新)。这个数组是在我的脚本中的select中构建的。
CREATE OR REPLACE FUNCTION run_script()
RETURNS VOID
AS $$
DECLARE
all_ent bigint[];
BEGIN
SELECT ent_id INTO all_ent FROM entretiens ent WHERE ent.ent_statut = 'T';
RAISE INFO 'Start';
DELETE FROM documents WHERE ent_id IN (all_ent);
DELETE FROM comite WHERE ent_id IN (all_ent);
DELETE entretiens ent SET ent_statut = 'N' WHERE ent_id IN (all_ent);
RAISE INFO 'End';
END;
$$ LANGUAGE plpgsql;
SELECT run_script();
字符串
当我运行脚本时,我遇到了这个错误:
ERROR: malformed array literal: "535030"
Détail : Array value must start with "{" or dimension information.
型
有什么建议吗?
2条答案
按热度按时间xtfmy6hx1#
你可以用下面的方法创建和使用数组。* 数组的值来自
[1]
,但不是来自[0]
,所以[0]
返回NULL;
,the doc详细解释了它:字符串
或者:
型
或者. * 如果省略
INTEGER[]
,下面的数组是TEXT[]
类型,不能进行计算,并且不要在string_to_array()的第一个参数中放置任何空格,否则由,
分隔的值有空格:型
9q78igpj2#
设置为数组选定字段值:
字符串
在查询中使用数组:
型