Получение ошибки при выполнении запроса в курсоре в postgresql - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в PostgreSQL. Я пытаюсь поместить данные из таблицы в файл имя совпадает со значением столбца name в той же строке.

Ниже приведена схема таблицы:

 Column  |       Type        |        Modifiers
---------+-------------------+--------------------------
 schema  | character varying | not null
 name    | character varying | not null
 data    | bytea             |
 md5hash | character varying |
 owner   | character varying | default "session_user"()

Мой курсор:

CREATE OR REPLACE FUNCTION get_function_name()
   RETURNS void AS $$
DECLARE
 rec_name RECORD;
 cur_name CURSOR FOR SELECT name,encode(data,'hex') from Tablefiles;
 zip_name varchar;

BEGIN

   OPEN cur_name;
   LOOP

      FETCH cur_name INTO rec_name;

      EXIT WHEN NOT FOUND;

    -- build the output
      IF rec_name.name LIKE '%.zip%' THEN
         zip_name = rec_name.name;
         copy (select name from Tablefiles where name = zip_name) to 
         'zipname.hex';
      END IF;
   END LOOP;

   -- Close the cursor
   CLOSE cur_name;

END;
$$ language plpgsql volatile;

Ошибка ниже:

ERROR:  there is no parameter $1
LINE 1: ...rom Tablefiles where name =  $1 ) to '/...
                                                         ^
QUERY:  copy (select name from Tablefiles where name =  $1 ) to 'zipname.hex'
CONTEXT:  PL/pgSQL function "get_function_name" line 20 at SQL statement
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...