有人可以向我解释这段代码的含义以及它是如何工作的吗?例如我有一张桌子,学生:
gname lname
-------------
vi23 kola
vi34 red
这个串联函数代码是如何与表格相关的?
CREATE FUNCTION concat (text, text) RETURNS text AS $$
DECLARE
t text;
BEGIN
IF character_length($1) > 0 THEN
t = $1 ||', '|| $2;
ELSE
t = $2;
END IF;
RETURN t;
END;
$$ LANGUAGE plpgsql;
CREATE AGGREGATE pegar (
sfunc = concat,
basetype = text,
stype = text,
initcond = ''
);
$1
和分别是$2
gname和lname的参数还是它们等于聚合函数pegar中的basetype和stype?这段代码发生了什么?
IF character_length($1) > 0 THEN
t = $1 ||', '|| $2;
ELSE
t = $2;