我想更新表格stats
中的一列,该列需作为参数传入,然后返回该列的更新值[只有1行]:
CREATE FUNCTION grow(col varchar) RETURNS integer AS $$
DECLARE
tmp int;
BEGIN
tmp := (EXECUTE format(
'UPDATE stats SET %I = %I + 1
RETURNING %I',
col, col, col
)
);
RETURN tmp;
END;
作为一个整体,我甚至不确定这是否是我想要的最佳方法,任何建议都将不胜感激!
EXECUTE IMMEDIATE
。你链接的是ECPG(C语言嵌入式SQL)的一部分! - Erwin Brandstetter