我写了一个简单的 PG SP 作为概念证明。但是,当我运行 SP 时,我收到一条错误消息。这是架构和 SP 的 SQL:
CREATE TABLE foobar
(
forename VARCHAR(255),
surname VARCHAR(32),
enrolement_ts TIMESTAMP,
age SMALLINT,
major VARCHAR(32),
user_id INTEGER
);
CREATE OR REPLACE FUNCTION insert_foobar (
forename VARCHAR(255),
surname VARCHAR(32),
age SMALLINT,
major VARCHAR(32) ) RETURNS VOID AS $$
INSERT INTO foobar VALUES (forename, surname, getdate(), age, major, user_id());
$$ LANGUAGE sql;
在命令行输入函数定义时,出现以下错误:
ERROR: column "forename" does not exist
LINE 6: INSERT INTO foobar VALUES (forename, surname,...
^
任何人都可以发现/解释导致此错误的原因吗?显然,列名存在于表模式中,所以我不明白错误消息。