Мне нужна помощь. Позвольте мне сначала объяснить сценарий с небольшой выборкой.
Предположим, у меня есть таблица Students
со столбцами:
Id int(PK)
Name varchar(200)
Marks1 int
Marks2 int
Marks3 int
TotalMarks int
IsTotalCalculated bit
InProcess bit
В этой таблице огромное количество записей.
Теперь я хочу вычислить TotalMarks каждого учащегося и обновить столбец TotalMarks
.
Сейчас, заходя в консольное приложение C #, я вызываю хранимые процедуры:
SP1 => Я выбираю две верхние записи за раз, у которых InProcess = 0 и IsTotalCalculated = 0, устанавливает его InProcess = 1 и выполняю обработку. (Имеет ВЫБОР и ОБНОВЛЕНИЕ)
SP2 => Наконец, снова обновите эти две строки, что обновляет его IsTotalCalculated = 1 и InProcess = 0 (ОБНОВЛЕНИЕ)
Озабоченность: Меня беспокоит, как только я выберу 2 строки для обработки, тогда любой другой экземпляр Консольного приложения не должен выбирать эти 2 строки для обработки. Что мне делать?
Примечание. Я поместил код C # моих двух SP в TransactionBlock.
Спасибо,
Джастин Самуэль