27,579
社区成员
发帖
与我相关
我的任务
分享
--仅供参考
CREATE TABLE tb_procedure_status
(
id INT IDENTITY,
[procname] VARCHAR(100),
[status] INT --1: busy 0:not busy
)
ALTER PROC your_procedure AS
BEGIN
DECLARE @IsBusy INT
SET @IsBusy = 1
IF NOT EXISTS(SELECT 1 FROM tb_procedure_status WHERE procname = 'your_procedure')
INSERT tb_procedure_status([procname], [status]) VALUES('your_procedure', 0)
IF EXISTS(SELECT 1 FROM tb_procedure_status WHERE procname = 'your_procedure' AND [status] = 0)
SET @IsBusy = 0
IF @IsBusy = 0
BEGIN
UPDATE tb_procedure_status SET [status] = 1 WHERE [procname] = 'your_procedure'
--your code
UPDATE tb_procedure_status SET [status] = 0 WHERE [procname] = 'your_procedure'
END
END