我在PostgreSQL中编写函数,但它不允许我在其中声明变量 . 这是功能 .
CREATE FUNCTION clean_emp() RETURNS void AS $func$ DECLARE cnt varchar; $func$ LANGUAGE SQL;
错误消息错误:“varchar”或其附近的语法错误SQL状态:42601字符:66
这并不奇怪 . 语言SQL不支持变量 . 你必须使用语言plpgsql .
CREATE OR REPLACE FUNCTION clean_emp() RETURNS void AS $$ DECLARE cnt varchar; BEGIN END; $$ LANGUAGE plpgsql;
请参阅文档http://www.postgresql.org/docs/current/static/plpgsql.html中的更多内容 .
PostgreSQL有更多用于编写函数的语言 . SQL语言非常适合一行单语句宏 . PLpgSQL是一种经典的本地语言,类似于带有嵌入式SQL的Oracle PL / SQL .
1 回答
这并不奇怪 . 语言SQL不支持变量 . 你必须使用语言plpgsql .
请参阅文档http://www.postgresql.org/docs/current/static/plpgsql.html中的更多内容 .
PostgreSQL有更多用于编写函数的语言 . SQL语言非常适合一行单语句宏 . PLpgSQL是一种经典的本地语言,类似于带有嵌入式SQL的Oracle PL / SQL .