Quote:
|
Originally Posted by iskander
can you help me with this one as well please:
what if instead of lock for update I want to lock the whole table for an insert?
Something like:
declare seqNo INT;
select sequence_number into seqNo
from myTable
order by sequence_number desc
fetch first 1 row only;
set seqNo = seqNo + 1;
...do more stuff here ...
insert into myTable (sequence_number) VALUES (seqNo);
but with a lock around it so that I don't get concurrency issues?
|
This might work also:
declare cursor1 cursor with hold for select max(sequence_number) from myTable for update;
declare seqNo INT;
open cursor1;
fetch cursor1 into seqNo;
set seqNo = seqNo + 1;
...do more stuff here ...
insert into myTable (sequence_number) VALUES (seqNo);
close cursor1;
Andy