如何从一个平面文件中读取值并在PostgreSQL文件中循环使用它们?

时间:2019-10-01 06:58:42

标签: psql postgresql-9.2

要求是从一个平面文件中读取值,并将其用于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()

0 个答案:

没有答案