要求是从一个平面文件中读取值,并将其用于for循环中以修改pgSQL查询。
我是PostgreSQL的新手。请提出任何建议。
CREATE FUNCTION file_vals()
RETURNS varchar[] AS
$BODY$
return (readLines('my_file.txt'))
$BODY$
language plpgsql;
DO $ANONYMOUS_BLOCK$ declare
/* data */
begin
for c, l in user_c, file_vals()
loop
perform x.y(user => c.user, password => l);
RAISE NOTICE '%', c.user;
end loop;
end $ANONYMOUS_BLOCK$;
我正在尝试从my_file.txt中读取值,还使用for循环中的值将值插入数据库(x.y是psql函数)。
my_file.txt包含密码:
a
b
c
d
user_c是具有用户值的光标。 需要在一个for循环语句中同时使用两个值,即user_c和file_vals。
Error:
psql:test.psql:6: ERROR: syntax error at or near "return"
LINE 4: return (readLines('my_file.txt'))
^
SET
psql:test.psql:20: ERROR: "c" is not a known variable
LINE 7: for c, l in user_c, file_vals()