Hi all, Does anyone know of a restriction (documented or otherwise) that prohibits triggers from using 'for update nowait' cursors ? Consider the following example: -------------------------------- SQL> create table T ( x number, y number ); Table created. SQL> insert into T values (1,1); 1 row created. SQL> insert into T values (2,1); 1 row created. SQL> create or replace 2 trigger TRG after delete on T 3 declare 4 cursor C is select * from t 5 where y =3D 1 6 for update NOWAIT; 7 begin 8 open c; 9 end; 10 / Trigger created. Session 1 then does the following: SQL> set sqlprompt 'SES1> ' SES1> delete from t where x =3D 1; 1 row deleted. Session 2 then tries to delete a different row, but the after-statement trigger will then try to get a nowait lock on both rows: SQL> set sqlprompt 'SES2> ' SES2> delete from t where x =3D 2; (waiting....waiting....) Is this correct behaviour ? Why does ses2 not get a "ORA-00054: resource busy and acquire with NOWAIT specified" Cheers Connor --=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