如何在postgresql中从函数中调用过程
我试图使用一个包含对过程调用的函数,但遇到了一个错误 SQL错误[2D000]:错误:事务终止无效 其中:PL/pgSQL函数内部_drop_task_tables(字符变化)提交时的第5行 有没有办法从函数中调用过程 目前,由于函数正在返回一个表,因此不能为过程修改该函数 以下是该功能的简化视图:如何在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
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
$$;
谢谢