Он должен быть простым, но я делаю первые шаги в функциях Postgres, и я не могу найти ничего, что работает...
Я хотел бы создать функцию, которая будет изменять таблицу и/или столбец, и я не могу найти правильный способ указания моих таблиц и столбцов в качестве аргументов в моей функции.
Что-то вроде:
CREATE OR REPLACE FUNCTION foo(t table)
RETURNS void AS $$
BEGIN
alter table t add column c1 varchar(20);
alter table t add column c2 varchar(20);
alter table t add column c3 varchar(20);
alter table t add column c4 varchar(20);
END;
$$ LANGUAGE PLPGSQL;
select foo(some_table)
В другом случае я хотел бы иметь функцию, которая изменяет определенный столбец из определенной таблицы:
CREATE OR REPLACE FUNCTION foo(t table, c column)
RETURNS void AS $$
BEGIN
UPDATE t SET c = "This is a test";
END;
$$ LANGUAGE PLPGSQL;
Можно ли это сделать?