Aracılığıyla paylaş


OBJECT_NAME (Transact-SQL)

Kapsamlı şema nesneleri veritabanı nesnesinin adını döndürür.Kapsamlı şema nesneleri listesi için bkz: sys.Objects (Transact-SQL).

Topic link iconTransact-SQL sözdizimi kuralları

OBJECT_NAME ( object_id [, database_id ] )

Bağımsız değişkenler

  • object_id
    Is the ID of the object to be used.object_id is int and is assumed to be a schema-scoped object in the specified database, or in the current database context.

  • database_id
    Is the ID of the database where the object is to be looked up.database_id is int.

Dönüş Türleri

sysname

Exceptions

Arayanı nesneyi görüntüleme iznine sahip değil, hata NULL veya'ı verir.Işlev, hedef veritabanı için AÇıK AUTO_CLOSE seçeneği varsa, veritabanını açar.

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_NAME 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.

İzinler

Nesne üzerinde HERHANGI bir izin gerekir.Bir veritabanı KIMLIĞINI belirtmek için , veritabanına CONNECT izin de gereklidir veya Konuk hesabı etkinleştirilmelidir.

Remarks

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 and burada.

Bu sistem işlev tarafından döndürülen değeri, geçerli veritabanı harmanlama kullanır.

Varsayılan olarak, SQL Server Database Engine varsayar. object_id Geçerli veritabanı içeriğinde ' dir. Başvuran BIR sorgu bir object_id başka bir veritabanında, NULL veya hatalı sonuçlar döndürür. Örneğin, aşağıdaki sorguda içerik veritabanının geçerli olur. AdventureWorks. The Database Engine tries to return an object name for the specified object ID in that database instead of the database specified in the FROM yan tümce of the query. Bu nedenle, yanlış bilgi döndürdü.

USE AdventureWorks;
GO
SELECT DISTINCT OBJECT_NAME(object_id)
FROM master.sys.objects;
GO

Bir veritabanı KIMLIğI belirterek bağlamında başka bir veritabanı nesnesi adlarını çözümleyebilir.Aşağıdaki örnek, veritabanı KIMLIĞI belirtir master ' de veritabanı OBJECT_SCHEMA_NAME işlev ve doğru sonuçlar verir.

USE AdventureWorks;
GO
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id, 1) AS schema_name
FROM master.sys.objects;
GO

Örnekler

C.Bir WHERE yan tümcesinde OBJECT_NAME kullanma

Aşağıdaki örnek sütunlarından verir sys.objects Belirtilen nesne için katalog görünümü OBJECT_NAME içinde WHERE ın yan tümce SELECT deyim.

b.Şema adı nesnenin ve nesne adı döndürülüyor

Aşağıdaki örnek, nesne şema adı, nesne adı ve ad hoc veya hazırlanmış deyimi olmayan tüm önbelleğe alınan sorgu planlarını SQL metni verir.

SELECT DB_NAME(st.dbid) AS database_name, 
    OBJECT_SCHEMA_NAME(st.objectid, st.dbid) AS schema_name,
    OBJECT_NAME(st.objectid, st.dbid) AS object_name, 
    st.text AS query_text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
WHERE st.objectid IS NOT NULL;
GO

c.Üç bölümlü nesne adları döndüren

Aşağıdaki örnek veritabanı, şema ve nesne adı ile birlikte diğer tüm sütunlara verir sys.dm_db_index_operational_stats Tüm veritabanlarında tüm nesneler için dinamik yönetimi görüntüleyin.

SELECT QUOTENAME(DB_NAME(database_id)) 
    + N'.' 
    + QUOTENAME(OBJECT_SCHEMA_NAME(object_id, database_id)) 
    + N'.' 
    + QUOTENAME(OBJECT_NAME(object_id, database_id))
    , * 
FROM sys.dm_db_index_operational_stats(null, null, null, null);
GO