我一直试图在Postgres 9.6中执行以下SQL语句,但是出现了错误:
如果您更喜欢使用sqlfiddle,我也已经创建了一个SQL演示。
“row”附近的语法错误
。这个错误会出现在CREATE AND REPLACE FUNCTION开始的那一行。如果您更喜欢使用sqlfiddle,我也已经创建了一个SQL演示。
CREATE TEMPORARY TABLE input (
id serial, certified boolean
);
CREATE TEMPORARY TABLE tests_person (
id serial, certified boolean
);
INSERT INTO input (id, certified) VALUES (DEFAULT, True), (DEFAULT, False), (DEFAULT, True), (DEFAULT, False), (DEFAULT, True), (DEFAULT, False);
CREATE OR REPLACE FUNCTION update_record(row input) RETURNS RECORD AS $$
UPDATE "tests_person"
SET certified=row.certified
WHERE certified=row.certified
RETURNING *
$$ LANGUAGE SQL;