Как выполнить sql функцию из bat файла?
Всем привет. Как написать батник, который выполнит sql функцию update_center, которая внутри бд лежит в Schemas/test_work/Functions? Использую субд postresql.
Функция чисто для примера пусть будет такой:
create function test_work.update_center()
returns bigint
language plpgsql
as
$$
begin
insert into data.quality_control_defect_temp (id, weld_qc_method_id, defect_id, description, depth, length, coordinates)
values (4, 12, 1000, 'D=0.5', null, null, '500') returning id;
end;
$$;
Пробовал следующим образом:
psql postgresql://*:*@localhost:5432/password -c "select * from update_center();"
До флага -c пытаюсь подключиться к бд, а после - выполнить функцию. Но это не работает:
psql: предупреждение: лишний аргумент "select * from update_center();" проигнорирован
Что делаю не так?
Ответы (1 шт):
Автор решения: Alexey R.
→ Ссылка
Попробуйте поменять местами параметр с запросом и URI базы.
psql -c "select * from update_center();" postgresql://*:*@localhost:5432/password
По этой доке опшензы идут сначала, а описание базы вконце.
P. S. - И исправьте сам запрос как советует @Akina