因此,该问题的评论提到,PostgreSQL中的“存储过程”和“存储功能”略有不同。
该评论链接到Wikipedia文章,但其中一些似乎不适用(例如,可以在SELECT
声明中使用它们)。
该语法本身似乎有点混乱:
CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
BEGIN
[...]
END;
$emp_stamp$ LANGUAGE plpgsql;
CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
您创建了一个,FUNCTION
但将其称为PROCEDURE
。
那么这两者有什么区别?