A resposta usual:depende! :-)
Principalmente em quanto tráfego você tem em seu sistema e qual nível de isolamento de transação você está usando.
O nível de isolamento controla como você está obtendo seus dados e quanto bloqueio está acontecendo. Se você nunca ouviu falar em níveis de isolamento de transação, provavelmente está usando o padrão - READ COMMITTED, escolha.
No entanto, se você usar algo como
SERIALIZABLE
por qualquer motivo, você pode experimentar não impasses - mas atrasos. A tabela pode ser bloqueada por um período de tempo até que sua única transação seja concluída. Se todas as operações funcionarem nesta ordem (primeiro delete, depois insira e selecione), não vejo como você deve encontrar algum impasse, na verdade. Leia sobre os níveis de isolamento de transações SQL aqui em www.sql-server- performance.com .