0
我试着写简单的功能:我们可以在plpgsql函数的开始 - 结束块中声明变量吗?
CREATE OR REPLACE FUNCTION add_mail_settings_column() RETURNS void AS $$
BEGIN
asd text := 'asd';
END $$
LANGUAGE plpgsql;
但它不工作:
ERROR: syntax error at or near "asd"
LINE 3: asd text := 'asd';
但是,如果我移动它,如下所示:
CREATE OR REPLACE FUNCTION add_mail_settings_column() RETURNS void AS $$
DECLARE
asd text := 'asd';
BEGIN
END $$
LANGUAGE plpgsql;
它工作正常。所以我们不能把变量声明放到函数体中吗?
块中使用的所有变量都必须在块的声明部分中声明。 – Houari 2014-12-19 12:05:34