Замеченный Ваш комментарий об использовании его для почтовой проверки и необходимости в плагине, плагин проверки может помочь Вам, его расположенному в http://bassistance.de/jquery-plugins/jquery-plugin-validation/ , это идет с почтовым правилом также.
да, есть способ. используйте так называемые блокировки приложений SQL Server .
РЕДАКТИРОВАТЬ: да, это также работает в SQL Server 2000 .
Вы можете использовать sp_getapplock sp_releaseapplock , как в примере, найденном в Lock a Хранимая процедура только для одноразового использования .
Но, это то, что вы действительно пытаетесь сделать? Вы пытаетесь получить транзакцию с высоким уровнем изоляции ? Вам также, вероятно, будет намного лучше обрабатывать этот тип параллелизма на уровне приложения, поскольку в целом языки более высокого уровня имеют гораздо лучшие примитивы для такого рода вещей.
как насчет блокировки фиктивной таблицы? Это не вызовет тупиковых ситуаций в случае сбоев.
В начале процедуры проверьте, заблокирован ли фрагмент данных, если не заблокировать его
В конце процедуры разблокировать фрагмент данных.
т.е.
SELECT @IsLocked=IsLocked FROM CheckLockedTable Where spName = 'this_storedProcedure'
IF @IsLocked = 1
RETURN
ELSE
UPDATE CheckLockedTable SET IsLocked = 1 Where spName = 'this_storedProcedure'
.
.
.
-- At end of Stored Procedure
UPDATE CheckLockedTable SET IsLocked = 0 Where spName = 'this_storedProcedure'