次のコードで。一度に実行されるのは、'Select' ステートメントの 1 つだけです。選択した行の「ステータス」を更新し、データを返すことができるようにしたいと考えています。これにより、基本的に、バックエンド処理中に同じレコードがフェッチされるのを防ぎます。
ありがとう!
-- Insert statements for procedure here
if(@BatchSize > -1 and @Priority > -1)
begin
Select TOP(@BatchSize) *,ID
From CompingQueue
Where PriorityLevel=@Priority
and Status=35
order by PriorityLevel asc;
end
if(@BatchSize = -1 and @Priority = -1)
begin
Select * From CompingQueue
Where Status=35
order by PriorityLevel asc;
end
if(@BatchSize = -1 and @Priority > -1)
begin
Select * From CompingQueue
WHEre PriorityLevel=@Priority
and Status=35
order by PriorityLevel asc;
end
if(@BatchSize > -1 and @Priority = -1)
begin
Select TOP(@BatchSize) *
From CompingQueue
Where Status=35
order by PriorityLevel asc;
end
--update CompingQueue set Status = 2 where ID=
-- Set the Status Flag for each job
終わり