【发布时间】:2018-04-07 22:15:24
【问题描述】:
我有一个字符串数组
sarr := array['s', 's1', ..., 'sn'];
a integer;
我需要将 array_length(sarr, 1) 放入一个整数变量中:
a := select(array_length(sarr, 1)) 或 a := array_length(sarr, 1) 不起作用
一个变量只在这里使用
for iter in 1..a
loop
execute 'alter table temp_table add column col_' || iter || '
varchar;';
end loop;
【问题讨论】:
-
第二个必须工作,你得到什么错误?
-
a := array_length(sarr, 1)应该可以正常工作。你得到什么错误? -
如果我声明 a := 10 例如我没有任何错误并且我的函数工作正常,如果我设置 a := array_length(sarr, 1) 我得到这个:“额外数据在最后一个预期列之后..."
-
向我们展示完整代码。 “extra data after last expected column”是来自
copy命令的错误,而不是 PL/pgSQL 编译器错误 -
我编辑了问题并添加了代码
标签: arrays postgresql function variables plpgsql