在PL/SQL中,可以使用游标和循环结构来批量执行存储过程。以下是一个示例代码:
DECLARE
CURSOR c_procedures IS
SELECT procedure_name
FROM all_procedures
WHERE owner = 'your_schema'; -- 替换为你的数据库用户名
BEGIN
FOR proc IN c_procedures LOOP
EXECUTE IMMEDIATE 'BEGIN ' || proc.procedure_name || '; END;';
END LOOP;
END;
在上述代码中,首先声明了一个游标c_procedures,用于查询所有存储过程名称。然后使用FOR循环遍历游标结果集,对每个存储过程执行EXECUTE IMMEDIATE语句,将存储过程名拼接到BEGIN和END之间,用于执行存储过程。
请注意,此示例仅适用于无参数的存储过程。如果你的存储过程有参数,需要相应地修改EXECUTE IMMEDIATE语句中的参数传递方式。