Как определить, используется ли таблица в SQL (в базе данных любого типа)? если кто-то уже использует его, или он «открыт», значит, он используется.
Да, программа доступна для вставки, обновления, удаления, выбора или простой НАЧАЛО ТРАНЗАКЦИИ (в MS SQL Server)


Проверьте, нет ли открытых замков на столе.
Взгляните на таблицу syslockinfo.
Спасибо, что привело меня к правильному ответу: msdn.microsoft.com/en-us/library/ms190345.aspx Для MS SQL Server
Вообще говоря, правильный способ узнать, использует ли кто-то еще эту таблицу и помешает ли вам делать все, что вы хотите, - это попытаться сделать то, что вы хотите, и проверить, не удается ли это сделать. Если в сообщении об ошибке указано «неисключительный доступ» или «таблица в использовании» или что-то подобное, значит, вы ошиблись.
Если ваша СУБД поддерживает блокировку таблицы, вы можете применить блокировку к таблице, а затем выполнить последовательность операций, но вы будете препятствовать другим людям, которые в противном случае могли бы попытаться ее использовать.
Обратите внимание, что проверка таблицы блокировок (например, syslockinfo) является специфичной для СУБД и ненадежна - это приводит к проблемам с TOCTOU (время проверки, время использования).
На самом деле это даст вам лучший результат:
select spid
from master..sysprocesses
where dbid = db_id('Works') and spid <> @@spid
Есть много видов «использования». Вы имеете в виду, что к таблице обращается программа (DML = вставка, обновление, удаление, выбор)? Вы имеете в виду, что структура таблицы модифицируется (DDL)? Вы имеете в виду, что на таблицу ссылается оператор SQL где-то в «активном» приложении?