【发布时间】:2019-06-26 10:40:49
【问题描述】:
函数定义:
CREATE OR REPLACE FUNCTION len_chars(t_name VARCHAR, f_name VARCHAR) RETURNS BIGINT AS $$
BEGIN
SELECT sum(char_length(f_name)) FROM t_name;
END;
$$ LANGUAGE plpgsql;
从 psql 调用它
SELECT len_chars('public.tag', 'name');
对于表“标签”和列“名称”返回错误:
psql: ERROR: relation "t_name" does not exist
LINE 1: SELECT sum(char_length(f_name)) FROM t_name
^
QUERY: SELECT sum(char_length(f_name)) FROM t_name
CONTEXT: PL/pgSQL function len_chars(character varying,character varying) line 1 at SQL statement
是否可以在 postgresql 函数中选择表名?
【问题讨论】:
-
谢谢@Sami,有用的链接。
标签: sql postgresql function plpgsql dynamic-sql