OBJECT_ID
используется для уникальной идентификации объекта в системных базовых таблицах.
Это первичный ключ базовой таблицы sys.sysschobjs
, используемый представлением метаданных sys.objects
, который отображается во многих других представлениях метаданных. например, sys.partitions
. Если вы не запрашиваете эти представления, то object_id
не очень полезен, за исключением, возможно, использования при проверке существования объекта, как показано ниже.
IF OBJECT_ID('T', 'U') IS NULL
/*Table T does not exist or no permissions*/
Объект в области схемы - это объект, который принадлежит схеме (например, таблица, представление, хранимая процедура). В статье MSDN приведен пример объекта без схемы в триггерах DDL.
Ошибка при попытке указать схему при создании этих
CREATE TRIGGER dbo.SomeTrigger /*Will Fail*/
ON DATABASE
FOR DROP_SYNONYM
AS
PRINT 'SomeTrigger'
Метаданные объектов, не входящих в схему, по-прежнему хранятся в sys.sysschobjs
, но не отображаются в представлении sys.objects
.