在一个过程中调用多个过程

时间:2019-04-22 09:14:04

标签: oracle plsql

我需要在一个过程中以特定顺序调用三个过程。我该怎么办?

可以说一个过程称为proc_log。必须在proc_log中调用的其他三个过程是:insert_header, insert_mapping, insert_item(严格按此顺序)。

有人可以提供有关如何执行此操作的代码示例吗?

2 个答案:

答案 0 :(得分:1)

Sure; one after another.

create or replace procedure proc_log is
begin
  insert_header;
  insert_mapping;
  insert_time;
end;
/

答案 1 :(得分:0)

您可以如下所示进行操作:

 CREATE OR REPLACE PROCEDURE proc_log
    AS
   BEGIN    
        BEGIN
            insert_header ();
        EXCEPTION
            WHEN OTHERS THEN
                raise_application_error( -20001,'In insert_header' );
        END;

        BEGIN
            insert_mapping ();
        EXCEPTION
            WHEN OTHERS THEN
                raise_application_error(-20002,'In insert_mapping');
        END;

        BEGIN
            insert_item ();
        EXCEPTION
            WHEN OTHERS THEN
                raise_application_error(-20003,'In insert_item');
        END;

    EXCEPTION 
     WHEN OTHERS THEN
        raise_application_error(-20001,'In proc_log');
    END;