Aracılığıyla paylaş


OBJECT_ID (Transact-SQL)

Şema kapsamlı bir nesneyi Veritabanı nesne kimliği sayısını verir.

Important noteImportant Note:

Şema DDL tetikleyiciler gibi kapsamlı, olan nesneleri OBJECT_ID kullanarak sorgulanamıyor.' De bulunmayan nesneler için sys.Objects görünümü katalog, uygun kataloğun görünümü sorgulayarak nesne kimlik numarası almak.Örneğin, DDL tetikleyicisi nesne tanımlayıcısı sayısı için kullanın. SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog'.

Topic link iconTransact-SQL sözdizimi kuralları

OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ] 
    object_name' [ ,'object_type' ] )

Bağımsız değişkenler

  • 'object_name'
    Is the object to be used.object_name is either varchar or nvarchar.If object_name olan varchar, örtülü olarak dönüştürülür nvarchar. Veritabanı ve şema adlarını belirtme isteğe bağlıdır.

  • 'object_type'
    Is the schema-scoped object type.object_type is either varchar or nvarchar.If object_type olan varchar, örtülü olarak dönüştürülür nvarchar. Nesne türlerinin listesi için bkz: TYPE sütunundasys.Objects (Transact-SQL).

Dönüş Türleri

int

Exceptions

Kayma bir dizin için OBJECT_ID NULL döndürüyor.

NULL hatası döndürüyor.

Bir kullanıcı, yalnızca kullanıcının sahip olduğu veya kullanıcı izni verilmiş securables meta veriler görüntüleyebilirsiniz.Bu, kullanıcı nesnesi üzerinde herhangi bir izin yoksa OBJECT_ID NULL döndürebilir gibi meta veriler verilirken, yerleşik çalışmasını anlamına gelir.Daha fazla bilgi için bkz: Meta veriler görünürlük yapılandırma ve Meta veriler görünürlük sorun giderme.

Remarks

Bir Sistem işlevine parametresi isteğe bağlıdır, geçerli veritabanında, ana bilgisayar, sunucu kullanıcı veya veritabanı kullanıcısı varsayılır.yerleşik işlevler, her zaman ayraç gelmelidir.

Geçici tablo adı belirtilmezse, geçerli veritabanı olmadığı sürece veritabanı adı önce geçici bir tablo adı, gelmelidir tempdb.Örneğin: SELECT OBJECT_ID('tempdb..#mytemptable').

Seçim listesinde, WHERE yan tümcesinde, sistem işlevleri kullanılabilir ve herhangi bir ifade izin verilir.Daha fazla bilgi için bkz: Ifadeler (Transact-SQL) ve WHERE (Transact-SQL).

Örnekler

C.Belirtilen bir nesnenin nesne KIMLIĞI döndürülüyor

Aşağıdaki örnek, nesne KIMLIĞI döndürür Production.WorkOrder ' de tablo AdventureWorks Veritabanı.

b.Bir nesne olduğunu doğrulama

Aşağıdaki örnek tablo nesne KIMLIğI olduğunu doğrulayarak belirtilen bir tablo varlığını denetler.Tablo varsa, silinir.Tablo mevcut değil, DROP TABLE deyim yürütüldükten.

c.Sistem işlev parametresinin değeri belirtmek için OBJECT_ID kullanma

Aşağıdaki örnek, tüm dizinler ve bölümlerini bilgilerini verir Person.Address ' de tablo AdventureWorks kullanarak bir veritabanı sys.dm_db_index_operational_stats işlev.

Important noteImportant Note:

Kullandığınızda Transact-SQL işlevler DB_ID ve OBJECT_ID bir parametre değeri döndürmek için her zaman geçerli bir KIMLIĞI döndürülür emin olun. Bir, yok veya yanlış yazılmış, her iki işlevleri, NULL döndürecektir gibi veritabanı veya nesne adı bulunamıyor.The sys.dm_db_index_operational_stats işlev interprets NULL as a wildcard value that specifies all databases or all objects.Bu kasıtlı olmayan bir işlem olduğundan, bu bölümdeki örneklerde, veritabanı ve nesne kimlikleri belirlemek için güvenli bir yolu gösterilmektedir.