小编PZN*_*ill的帖子

如何动态调用存储过程?

FOR rec IN ( SELECT Procedure_Name 
                 FROM DATAMART_PROCESS_STEPS
                 ORDER BY Procedure_Order )
LOOP
  EXECUTE rec;
END LOOP;
Run Code Online (Sandbox Code Playgroud)

我有一个过程管理表中的一系列过程DATAMART_PROCESS_STEPS,并且我需要动态运行该表中的每个过程。Oracle SQL Developer 不喜欢我执行过程的方式;它会抛出语法错误。完成这项任务的正确方法是什么?

EXECUTE 'BEGIN ' || rec || '; END';
Run Code Online (Sandbox Code Playgroud)

在阅读有关存储过程的教程后,我也尝试过此操作,但它存在单引号问题。帮助。如果您需要更多详细信息或代码,请询问。

先感谢您。

plsql stored-procedures oracle11g oracle-sqldeveloper

2
推荐指数
1
解决办法
1388
查看次数