我有一个在postgres中执行plpgsql函数的cron作业。此函数将零到多个记录插入表中。什么是返回函数创建的记录的最佳方法是什么?
我正在使用PostgreSQL 9.1
答案 0 :(得分:3)
幸运的是,这可以很容易地完成。说,您正在插入表insert_tbl
...
CREATE OR REPLACE FUNCTION f_ins_return()
RETURNS SETOF insert_tbl AS
$func$
BEGIN
RETURN QUERY
INSERT INTO insert_tbl
SELECT * FROM othertable LIMIT 3 -- or where ever your rows come from ...
RETURNING *;
END
$func$ LANGUAGE plpgsql;
呼叫:
SELECT * FROM f_ins_return();
关键要素:
答案 1 :(得分:0)
您可以创建一个放置值的列。该值是一小组限制值之一。在这种情况下,值是创建记录的方式的来源。一个值是cron作业,另一个值是人工插入或在该表中创建记录的其他方法。之后,您可以找出使用SQL时通过哪种方式创建的记录。