¿"Seleccionar para actualizar" impide que se inserten otras conexiones cuando la fila no está presente

Estoy interesado en si unselect for update la consulta bloqueará una fila inexistente.

p.ej.

Tabla FooBar con dos columnas, foo y bar, foo tiene un índice único

Consulta de problemaselect bar from FooBar where foo = ? for updateSi la consulta devuelve cero filasConsulta de problemainsert into FooBar (foo, bar) values (?, ?)

Ahora es posible que la inserción cause una violación del índice oselect for update ¿Prevenir eso?

Interesado en el comportamiento en SQLServer (2005/8), Oracle y MySQL.

Respuestas a la pregunta(5)

Su respuesta a la pregunta