Переменная COPY PL / pgSQL ОТ STDIN - PullRequest
0 голосов
/ 16 января 2019

У меня есть следующий скрипт:

DO $$
DECLARE
    i INTEGER;
BEGIN

    i := 5;

    COPY public.mytable (id, name) FROM stdin;
    i   abc
    \.

END $$;

Я запускаю приведенный выше скрипт, используя psql. Я хочу взять значение из переменной i и использовать его в команде COPY. Как я могу сделать это в PL / pgSQL? Можно ли использовать \ echo?

1 Ответ

0 голосов
/ 16 января 2019

Вы можете использовать переменную с динамическим SQL:

EXECUTE format('COPY %I FROM ''/path/file''', i);

Но вы не можете использовать COPY ... FROM STDIN в PL / pgSQL, потому что в функции нет стандартного ввода.

...