小编fgc*_*hix的帖子

在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)
Run Code Online (Sandbox Code Playgroud)

在另一种情况下,我想要一个改变某个表中某个列的函数:

CREATE OR REPLACE FUNCTION foo(t table, c column)
RETURNS void AS $$
BEGIN
   UPDATE t SET c = "This is a test";
END;
$$ LANGUAGE PLPGSQL;
Run Code Online (Sandbox Code Playgroud)

有可能吗?

postgresql variables function dynamic-sql plpgsql

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

dynamic-sql ×1

function ×1

plpgsql ×1

postgresql ×1

variables ×1