【发布时间】:2016-02-25 20:26:39
【问题描述】:
我正在尝试运行代码:
CREATE OR REPLACE FUNCTION anly_work_tbls.testfncjh (tablename text) returns int
AS $$
DECLARE
counter int;
rec record;
tname text;
BEGIN
counter = 0;
tname := tablename;
FOR rec IN
select *
from tname
loop
counter = counter + 1;
end loop;
RETURN counter;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE
SECURITY DEFINER;
此代码的目标是返回您输入的表中的行数。我知道这可能不是完成这项任务的最佳方式,但这个函数的结构可以很好地扩展到我试图解决的另一个问题。每次我运行代码,我都会得到错误:
ERROR: syntax error at or near "$1"
我找到的所有在线资源都告诉我如何在 EXECUTE 块中使用输入变量,但在上述情况下没有。
当前运行 PostgreSQL 8.2.15。
【问题讨论】:
标签: postgresql function variables plpgsql dynamic-sql