Я новичок в 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