【问题标题】:Can't declare variable inside function on PostgreSQL不能在 PostgreSQL 的函数内声明变量
【发布时间】: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


    【解决方案1】:

    这并不奇怪。 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多