Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: How to Use DBMS_PIPE

Re: How to Use DBMS_PIPE

From: Chris Halioris <halioris_chris_nonlilly_at_lilly.com>
Date: 1997/03/05
Message-ID: <331DDD6F.3B85@lilly.com>#1/1

Carl Van de Casteele wrote:
>
> On Fri, 21 Feb 1997 11:53:16 -0500, Anil Sam <zephyr_at_grfn.org> wrote:
>
> >
> >I am trying to use DBMS_PIPE. Whenever I give the following commands from
> >SQL prompt I get the following error message. If anybody aware how to
> >overcome this problem, please let me know.
> >
> >select dbms_pipe.create_pipe('Tapas') from dual;
> >
> >ORA-06571: Function create_pipe does not gurantee not to update the
> >database.
> >Whenver I try to use any function it come up with the same error.

This is a bug that has since been fixed by Oracle which you need to obtain the patch for. The problem is that dbms_pipe does not have any PRAGMA RESTRICT_REFERENCES in it. These are necessary to tell the database that the function does not update the database. The newer version of the package spec' have the PRAGMA's that do that.

However, you really shouldn't be issuing the call to create_pipe in a SQL statement. It should be done through PL/SQL. DBMS_PIPE.CREATE_PIPE may indeed update the database in which case the error message you are getting is legitimate. You cannot call a function in a SQL statement that updates the database.

Chris Halioris
Tactics, Inc.
hali_at_tacticsus.com Received on Wed Mar 05 1997 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US