Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2022, 13:40   #1
MisterConst
Новичок
Джуниор
 
Регистрация: 14.04.2022
Сообщений: 1
По умолчанию Блокировка в MS SQL

Добрый день!

Есть задача. SQL-процедура под названием MyProcedureMain. Процедура MyProcedureMain вызывает другие процедуры MyProcedure1 и MyProcedure2. Запущен экземпляр MyProcedureMain. Вызван другой экземпляр MyProcedureMain, когда первый экземпляр MyProcedureMain еще не завершил свой процесс. В этом случае второй экземпляр должен быть отменен (а не ждать своей очереди, когда завершится первый процесс).

Думал как это реализовать. Использовал транзакции.

Код:
DROP PROCEDURE IF EXISTS dbo.MyProcedure1;
GO

CREATE PROCEDURE dbo.MyProcedure1
AS
BEGIN
	WAITFOR DELAY '00:00:03';
END

GO

DROP PROCEDURE IF EXISTS dbo.MyProcedure2;

GO

CREATE PROCEDURE dbo.MyProcedure2
AS
BEGIN
	WAITFOR DELAY '00:00:03';
END

GO

DROP PROCEDURE IF EXISTS dbo.MyProcedureMain;

GO

CREATE PROCEDURE dbo.MyProcedureMain
AS
BEGIN
	BEGIN TRY
		BEGIN TRANSACTION
			EXEC dbo.MyProcedure1;
			EXEC dbo.MyProcedure2;
		COMMIT TRANSACTION
	END TRY
	BEGIN CATCH
		PRINT(ERROR_MESSAGE());
		ROLLBACK TRANSACTION
	END CATCH
END
Одновременно запускаю два процесса
Код:
exec dbo.MyProcedureMain
Второй экземпляр ожидает завершение первого экземпляра.

Подскажите как сделать, чтобы второй экземпляр не ожидал, а прекращал ожидание, когда первый занят? Или может быть есть решение данной задачи по оптимальнее?
MisterConst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокировка USB Юзер 2423 Безопасность, Шифрование 1 18.02.2012 18:00
Блокировка IP MaGiS Безопасность, Шифрование 0 08.07.2010 21:18
Блокировка zmey31313 Помощь студентам 4 25.04.2010 14:16
Блокировка( alco84 Microsoft Office Access 1 13.03.2010 21:51
блокировка WMI north Win Api 2 15.02.2009 16:54