18

それは単純でなければなりませんが、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;

それは可能ですか?

4

1 に答える 1