이 내 스칼라 함수 :이 쿼리에 잠금이 필요합니까?
ALTER FUNCTION [dbo].[GetInstrumentID]
(
@ParentDocumentID int
)
RETURNS varchar(14)
AS
BEGIN
Declare @InstrumentID varchar(14) = ''
Declare @FilingNumber int = 0
Select @InstrumentID = InstrumentID
From Documents
Where DocumentID = @ParentDocumentID
Select Top 1 @FilingNumber = FilingNumber
From Documents Where ParentDocumentID = @ParentDocumentID
Order By FilingNumber desc
Set @InstrumentID = Left(@InstrumentID,9) + Right(
'000' + Cast((IsNull(@FilingNumber,1) + 1) as varchar(3))
, 3) + '00'
Return @InstrumentID
END
사용자의 수백이 함수를 호출하면 나는 그들 중 많은 사람들이 같은 반환 값을받을 가능성이 될 것이라고 걱정? 그렇다면 어떻게 한 번에 한 명의 사용자 만이 기능을 실행하고 나머지는 기다리는 것을 보장 할 수 있습니까?
사용'' –