希望输出默认的INSERT INTO消息,其中打印出插入的记录数。知道这与将RETURNS从void更改为其他东西并可能添加OUT参数有关吗?
this.checkCredits(this.myObject);
答案 0 :(得分:2)
使用GET DIAGNOSTICS
命令填充,然后返回变量:
CREATE OR REPLACE FUNCTION etl(from_table regclass, to_table regclass) RETURNS integer AS
$$
DECLARE
rows integer;
BEGIN
EXECUTE format('INSERT INTO %I (title)
SELECT data->>''title'' as title
FROM %I', to_table, from_table);
GET DIAGNOSTICS rows = ROW_COUNT;
RETURN rows;
END;
$$ LANGUAGE plpgsql;
您还应该使用format()
函数来组合动态SQL命令。此外,您可以在多行上编写文字字符串,而无需在每一行使用结束/开头引号。