如何在postgresql中从函数中调用过程

如何在postgresql中从函数中调用过程,postgresql,function,transactions,procedure,Postgresql,Function,Transactions,Procedure,我试图使用一个包含对过程调用的函数,但遇到了一个错误 SQL错误[2D000]:错误:事务终止无效 其中:PL/pgSQL函数内部_drop_task_tables(字符变化)提交时的第5行 有没有办法从函数中调用过程 目前,由于函数正在返回一个表,因此不能为过程修改该函数 以下是该功能的简化视图: CREATE OR REPLACE FUNCTION cancel_job( in_partition_id VARCHAR(40), in_job_id VARCHAR(4

我试图使用一个包含对过程调用的函数,但遇到了一个错误

SQL错误[2D000]:错误:事务终止无效 其中:PL/pgSQL函数内部_drop_task_tables(字符变化)提交时的第5行

有没有办法从函数中调用过程

目前,由于函数正在返回一个表,因此不能为过程修改该函数

以下是该功能的简化视图:

    CREATE OR REPLACE FUNCTION cancel_job(
    in_partition_id VARCHAR(40),
    in_job_id VARCHAR(48)
)
RETURNS VOID
LANGUAGE plpgsql
AS $$
DECLARE
    v_is_finished BOOLEAN;

BEGIN
        

            -- Drop any task tables relating to the job
            CALL internal_drop_task_tables(in_partition_id, in_job_id);

          
END;
$$;
drop_task_表格的简化版本为:

    CREATE OR REPLACE PROCEDURE internal_drop_task_tables(
    in_task_id VARCHAR(58)
)
    LANGUAGE plpgsql
AS $$

BEGIN
   drop table in_task_id ;
       COMMIT;
    
END
$$;
谢谢