【发布时间】:2016-07-12 21:00:51
【问题描述】:
我正在 PostgreSQL 中编写函数,但它不允许我在其中声明变量。这是函数。
CREATE FUNCTION clean_emp() RETURNS void AS
$func$
DECLARE cnt varchar;
$func$ LANGUAGE SQL;
错误信息 错误:“varchar”处或附近的语法错误 SQL 状态:42601 字数:66
【问题讨论】:
标签: postgresql
我正在 PostgreSQL 中编写函数,但它不允许我在其中声明变量。这是函数。
CREATE FUNCTION clean_emp() RETURNS void AS
$func$
DECLARE cnt varchar;
$func$ LANGUAGE SQL;
错误信息 错误:“varchar”处或附近的语法错误 SQL 状态:42601 字数:66
【问题讨论】:
标签: postgresql
这并不奇怪。 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。
【讨论】: