Определить имена таблиц и столбцов в качестве аргументов в функции plpgsql?

Это должно быть просто, но я делаю свои первые шаги в функциях 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;

Возможно ли это сделать?

Ответы на вопрос(1)

Ваш ответ на вопрос