Я задаю этот вопрос, потому что время от времени захожу в тупик, которого не понимаю.
Это сценарий:
Хранимая процедура, которая обновляет таблицу A:
UPDATE A
SET A.Column = @SomeValue
WHERE A.ID = @ID
Хранимая процедура, которая вставляется во временную таблицу #temp:
INSERT INTO #temp (Column1,Column2)
SELECT B.Column1, A.Column2
FROM B
INNER JOIN A
ON A.ID = B.ID
WHERE B.Code IN ('Something','SomethingElse')
Я вижу, что может быть ожидание блокировки, но я не вижу, как возникнет тупик, я что-то упускаю из виду?
EDIT:
ПС, которые я здесь напечатал, являются явно упрощенными версиями, но я использую соответствующие столбцы. Структура обеих таблиц будет:
CREATE TABLE A (ID IDENTITY
CONSTRAINT PRIMARY KEY,
Column VARCHAR (100))
CREATE TABLE B (ID IDENTITY
CONSTRAINT PRIMARY KEY,
Code VARCHAR (100))