вызов процедуры внутри процедуры - PullRequest
0 голосов
/ 26 января 2012

У меня есть следующая структура процедур внутри пакета:

PROCEDURE proc_All
(
   start IN date := null,
   end IN date := null,
   cursor1 OUT sys_refcursor,
   cursor1 OUT sys_refcursor,
   cursor1 OUT sys_refcursor
);

PROCEDURE proc_1
(
   start1 IN date := null,
   end1 IN date := null,
   cursor1_1 OUT sys_refcursor,

);   
PROCEDURE proc_3
(
   start2 IN date := null,
   end2 IN date := null,
   cursor1_2 OUT sys_refcursor,

);  
PROCEDURE proc_3
(
   start3 IN date := null,
   end3 IN date := null,
   cursor1_3 OUT sys_refcursor,

); 

Теперь мое требование состоит в том, чтобы я хотел, чтобы первая процедура proc_All вызывала все три следующие процедуры, так как я хочу, чтобы proc_All вызывался программой. как я могу передать переменные в процедуру при вызове внутри другой процедуры (если они типа IN или OUT)

Может кто-нибудь, пожалуйста, помогите .. Спасибо заранее

1 Ответ

2 голосов
/ 26 января 2012

Это должно работать (хотя я не уверен, что вам разрешено использовать ключевое слово "end" в качестве имени параметра):

PROCEDURE proc_All
(
   start IN date := null,
   end IN date := null,
   cursor1 OUT sys_refcursor,
   cursor1 OUT sys_refcursor,
   cursor1 OUT sys_refcursor
)
IS
BEGIN

  proc_1
  (
     start1 => start,
     end1 => end,
     cursor1_1 => cursor1
  );   

  proc_2
  (
     start2 => start,
     end2 => end,
     cursor1_2 => cursor2
  );   

  proc_3
  (
     start3 => start,
     end3 => end,
     cursor1_3 => cursor3
  );   

END;
...