postgresql schemas conflict



我创建了名为test1的新数据库,新用户test1_user,我将所有数据库test1授予test1_user。此外,我创建了模式test1_user。现在,我还创建了一个新的架构functions_package,其所有者是test1_user。

我的代码 :

CREATE OR REPLACE FUNCTION functions_package.newFunction(file_id     
utl_file.file_type) RETURNS VOID AS $body$
BEGIN
functions_package.old_function1(file_id);
functions_package.old_function2(file_id);
functions_package.old_function3(file_id);
End;
--
$body$
LANGUAGE PLPGSQL
SECURITY DEFINER
STABLE;

我在架构 functions_package 下创建了几个函数,现在我正在尝试创建使用旧函数的新函数,但 im 得到 eror :

ERROR:  syntax error at or near "functions_package"
LINE 3:    functions_package.old_function('aa');

对于我尝试在新函数中召唤的架构functions_package中的每个函数,我M trying to create the new function from user test1_user; I收到此错误。在所有旧函数中,我根本没有召唤任何函数,所以我没有这种错误。 一些帮助 ?

你在函数名称之前缺少select: 尝试:

CREATE OR REPLACE FUNCTION functions_package.newFunction(file_id     
utl_file.file_type) RETURNS VOID AS $body$
BEGIN
perform functions_package.old_function1(file_id);
perform functions_package.old_function2(file_id);
perform functions_package.old_function3(file_id);
End;
--
$body$
LANGUAGE PLPGSQL
SECURITY DEFINER
STABLE;

最新更新