在声明级别,我有:
sqlDel text := 'DELETE FROM %s WHERE %s IS NULL';
fields text[];
field_name text;
ptable := 'myTable';
我在后面的某处填写了字段,因此其中包含3个项目-我检查了还可以。不过,在下面,我有这个for循环语句,在我添加这一行之前,它工作得很好:
EXECUTE format(sqlDel, ptable, field_name);
错误提示:
ERROR: FOREACH expression must not be null
Foreach循环:
FOREACH field_name IN ARRAY fields
LOOP
EXECUTE format(sqlDel, ptable, field_name);
raise notice 'Primary key column: %', field_name;
END LOOP;
答案 0 :(得分:0)
错误消息很干净-变量fields
为空。您应该先设置它。
fields = ARRAY['id'];
FOREACH ...