Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Belirli bir nesnenin tanımının Transact-SQL kaynak metnini döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
OBJECT_DEFINITION ( object_id )
Arguments
object_id
Kullanılacak nesnenin kimliği nedir.
object_idint'tir ve mevcut veritabanı bağlamında bir nesneyi temsil ettiği varsayılır.
Dönüş Türleri
nvarchar(max)
Exceptions
Hata durumunda veya çağıranın nesneyi görüntüleme izni yoksa NULL döndürür.
Bir kullanıcı yalnızca kullanıcıya ait olan veya kullanıcıya izin verilen güvenli hale getirilebilir öğeler meta verilerini görüntüleyebilir. Bu, OBJECT_DEFINITION gibi metaveri yayan, yerleşik fonksiyonların, kullanıcının nesne üzerinde herhangi bir izni yoksa NULL döndürebileceği anlamına gelir. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .
Açıklamalar
SQL Server Veritabanı Motoru, object_id mevcut veritabanı bağlamında olduğunu varsayar. Nesne tanımının derlemesi her zaman çağrı veritabanı bağlamıyla eşleşir.
OBJECT_DEFINITION aşağıdaki nesne türlerine uygulanır:
C = Kontrol kısıtlaması
D = Varsayılan (kısıtlama veya bağımsız)
P = SQL kayıtlı prosedür
FN = SQL skaler işlevi
R = Kural
RF = Çoğaltma filtresi prosedürü
TR = SQL tetikleyicisi (şema kapsamlı DML tetikleyicisi veya veritabanı veya sunucu kapsamında DDL tetikleyicisi)
IF = SQL satır içi tablo değerli işlevi
TF = SQL tablo değerli fonksiyon
V = Görünüm
Permissions
Sistem nesne tanımları kamuya açık olarak görünürdür. Kullanıcı nesnelerinin tanımı, nesnenin sahibi veya aşağıdaki izinlerden herhangi birine sahip olan kişiler tarafından görülebilir: ALTER, CONTROL, TAKE OWNERSHIP veya VIEW DEFINITION. Bu izinler, db_owner, db_ddladminve db_securityadmin sabit veritabanı rollerinin üyeleri tarafından örtük olarak tutulur.
Örnekler
A. Kullanıcı tanımlı bir nesnenin kaynak metnini geri döndürmek
Aşağıdaki örnek, şemada kullanıcı tarafından tanımlanan bir tetikleyicinin tanımını uAddressPerson geri getirir. Yerleşik fonksiyon OBJECT_ID , tetikleyicinin nesne kimliğini ifadeye OBJECT_DEFINITION geri döndürmek için kullanılır.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.uAddress')) AS [Trigger Definition];
GO
B. Bir sistem nesnesinin kaynak metnini geri döndürmek
Aşağıdaki örnek, sistem depolanmış prosedürün sys.sp_columnstanımını geri getirir.
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'sys.sp_columns')) AS [Object Definition];
GO
Ayrıca Bkz.
Meta Veri İşlevleri (Transact-SQL)
OBJECT_NAME (Transact-SQL)
OBJECT_ID (Transact-SQL)
sp_helptext (Transact-SQL)
sys.sql_modüller (Transact-SQL)
sys.server_sql_modules (Transact-SQL)