Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: passing it an Assoc. Array
On Feb 27, 5:27 pm, "Valentin Minzatu" <valentinminz..._at_yahoo.com>
wrote:
> On Feb 27, 2:31 pm, "Ed" <e..._at_mail.com> wrote:
>
> > How can one launch a proc via dbms_job
> > (to run in separate session) passing it an Assoc. Array ?
>
> > thanks
> > 10gR2
>
> You cannot. You would have to persist the data and reinitialize the
> array in the other session should you have to use it in that format.
Valentin is correct in that you cannot directly pass an associative array to a procedure executed via dbms_job though you can use a globally defined array type definition in the procedure. The procedure would have to populate the array itself and for an array of any size you would probably need to use a permanent store (table) as suggested.
The package dbms_pipe can be used to pass data between active sessions, but I have never tried to have one of the sessions demanded in via dbms_job (or better dbms_scheduler) though this might be worth a look if the data quantity is small. If you stuff a pipe and there is no receiver it used to be possible to cause the database to hang.
HTH -- Mark D Powell -- Received on Tue Feb 27 2007 - 19:07:11 CST