You should either break up the SQL statement into multiple single table cursors or specify the FOR August 22, 2003 - am UTC I think the deadlock concerns are way overrated probability of them happening is extremely small.
For example, the above cursor can be rewritten as follows: CURSOR lock_departure(x_dep_id NUMBER) IS select departure_id from WSH_DEPARTURES where DEPARTURE_ID = x_dep_id FORUPDATE NOWAIT; CURSOR lock_deliveries(x_dep_id NUMBER) IS select delivery_id from WSH_DELIVERIES where ACTUAL_DEPARTURE_ID = x_dep_id FOR UPDATE NOWAIT; CURSOR lock_line_details(x_dep_id NUMBER) IS select line_detail_id from SO_LINE_DETAILS where DEPARTURE_ID = x_dep_id FOR UPDATE NOWAIT; CURSOR lock_picking_details(x_dep_id NUMBER) IS select picking_line_detail_id from SO_PICKING_LINE_DETAILS where DEPARTURE_ID = x_dep_id FOR UPDATE NOWAIT; Begin OPEN lock_departure(entity_id); CLOSE lock_departure; OPEN lock_deliveries(entity_id); CLOSE lock_deliveries; OPEN lock_line_details(entity_id); CLOSE lock_line_details; OPEN lock_picking_details(entity_id); CLOSE lock_picking_details; End; In summary, do not code a SQL statement that performs an unqualified lock via the FOR UPDATE clause.
1cutiechubz addictiveany live online all 0kandance forum nude cam videos Hello my dears, my name is Siena, I would describe myself as a mysterious, loving, sweet and passionate woman that can get wild and on fire really fast and easy with the right man.
I don't think the alternative of breaking up into multiple cursors is a good idea - I would instead specify the tables to be locked in a single query.
"SQL statements that lock rows should be analyzed carefully to insure that deadlock and lock ordering issues are avoided.