Re: nowait cursors in triggers

  • From: Connor McDonald <mcdonald.connor@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Thu, 9 Jun 2005 15:35:17 +0800

Oh dear... How obvious ...what a goose I am

Chalk up another pebkac problem for me...

(pebkac =3D "problem exists between keyboard and chair")

Cheers
Connor

On 6/9/05, Khemmanivanh, Somckit <somckit.khemmanivanh@xxxxxxxxxxxxxxxx> wr=
ote:
>=20
> Hey,
>=20
> I'm no trigger expert and may be way off, but...
>=20
> Just trying to work out the event flow here...
>=20
> Session 1 deletes where x =3D 1 (this sets the lock on this row), then th=
e
> trigger fires and locks the remaining rows
>=20
> Session 2 tries to delete where x =3D 2, but Sess 1's trigger would have
> acquired a lock on this row, thus session 2 waits.
>=20
> To me the trigger for session 2 would not have fired yet since it's
> being blocked on the delete process. The trigger is an AFTER delete
> trigger but the delete never gets a chance to complete due to the lock
> acquired by the first trigger.
>=20
> Sess 2's select ... for update nowait statement never gets a chance to
> execute...By the way is there a way to check if a trigger has fired?
>=20
> Feel free to correct me if I'm way off.
>=20


--=20
Connor McDonald
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
email: connor_mcdonald@xxxxxxxxx
web:   http://www.oracledba.co.uk

"Semper in excremento, sole profundum qui variat"
--
//www.freelists.org/webpage/oracle-l

Other related posts: