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

Home -> Community -> Mailing Lists -> Oracle-L -> RE: DML within a function

RE: DML within a function

From: <arul.kumar_at_bt.com>
Date: Tue, 16 Nov 2004 13:38:33 -0000
Message-ID: <83FC2D1BC95D884894735B11B562A41C08377AA7@i2km06-ukbr.domain1.systemhost.net>


How about encapsulating the same in a INSERT Trigger?

The trigger will check the last id & increment the value by 1 & insert = into the table!

-----Original Message-----
From: oracle-l-bounce_at_freelists.org =
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of Jan SALVA Sent: 16 November 2004 13:36
To: oracle-l_at_freelists.org
Subject: DML within a function

Hello all,
when I use update command within a user defined function, I got =3D ORA-06512 error: Can't use DML within a function. Is ANY possibility to modify data within a function? Some dynamic sql or =
=3D

other feature?
Why I need it:
In my db - primary key values are set by application, it mean that last =
=3D

used Id is in "counters" table. Unfortunatelly sequence objects aren't =
=3D

used. When I need new Id, i get it with stored procedure, which handles =
=3D

my "counters" table. The big disadvantage is that I can't use this =3D schema for multi-row inserts, I must use cursors :-(. I know that this =
=3D

is bad solution, but I can't do anything with it now and I need improve =
=3D

db performance. If I have function, which handles my counters table, I =
=3D

would use it directly in insert command without cursor need. Thank you for any answers.

--
http://www.freelists.org/webpage/oracle-l
--
http://www.freelists.org/webpage/oracle-l
Received on Tue Nov 16 2004 - 07:33:07 CST

Original text of this message

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